Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
No .NET 8, foi introduzida uma alteração para usar uma grafia de identificador de tempo de execução (RID) menor ao almejar net8.0 e versões posteriores.
No entanto, isso causou problemas para os clientes que trabalham com múltiplas plataformas no .NET e .NET Framework. Isso ocorre porque a restauração acontece uma vez, mas o projeto .NET Framework tenta usar o padrão RID antigo e o projeto .NET (Core) tenta usar o novo gráfico RID reduzido.
Para habilitar este cenário de multi-alvo, um RID padrão compatível com o novo gráfico RID agora está a ser utilizado neste cenário.
Versão introduzida
.NET 9 GA
Comportamento anterior
Projetos no estilo SDK destinados ao .NET Framework sem RID definido padronizados como win7-x86 ou win7-x64.
Novo comportamento
Projetos no estilo SDK destinados ao .NET Framework sem RID definem como padrão win-x86 ou win-x64.
Tipo de mudança de rutura
Essa alteração pode afetar compatibilidade da fonte.
Motivo da mudança
Os aplicativos .NET Framework estavam recebendo um RID padrão que era incompatível com o gráfico RID portátil. Essa incompatibilidade resultou em um erro de restauração:
Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): erro NETSDK1047: O ficheiro de recursos 'D:\1\s\artifacts\obj\MSBuild\project.assets.json' não possui um alvo para 'net472/win7-x64'. Certifique-se de que a restauração foi executada e que você incluiu 'net472' no TargetFrameworks para seu projeto. Você também pode precisar incluir 'win7-x64' nos RuntimeIdentifiers do seu projeto. [MSBuild.csproj::TargetFramework=net472]>
Para obter mais informações, consulte dotnet/sdk issue #35575.
Ação recomendada
Se você for afetado por essa alteração, escolha uma das seguintes ações:
Atualize seu identificador de tempo de execução para um valor suportado pelo gráfico RID portátil. Exemplo de arquivo de projeto:
<PropertyGroup> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup>Se você especificar o RID como um argumento de linha de comando, faça uma alteração semelhante. Por exemplo,
dotnet publish --runtime win-x64.Volte para o gráfico RID antigo definindo
UseRidGraphparatrueno arquivo de projeto:<PropertyGroup> <UseRidGraph>true</UseRidGraph> </PropertyGroup>
APIs afetadas
Nenhuma.