Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No .NET 8, uma alteração foi introduzida para usar um grafo de RID (identificador de runtime) menor ao se direcionar para o net8.0 e versões posteriores.
No entanto, isso prejudicou os clientes que desenvolvem para múltiplas plataformas do .NET e do .NET Framework. Isso ocorre porque a restauração acontece uma vez, mas o projeto do .NET Framework tenta usar o padrão RID antigo e o projeto .NET (Core) tenta usar o novo grafo RID reduzido.
Para habilitar esse cenário de vários destinos, um RID padrão compatível com o novo grafo RID agora é usado nesse cenário.
Versão introduzida
Disponibilidade geral do .NET 9
Comportamento anterior
Projetos no estilo SDK direcionados ao .NET Framework, sem um RID configurado, usavam o padrão win7-x86 ou win7-x64.
Novo comportamento
Projetos no estilo SDK direcionados ao .NET Framework sem definir um RID, por padrão, usam win-x86 ou win-x64.
Tipo de alteração interruptiva
Essa alteração pode afetar a compatibilidade da origem.
Motivo da alteração
Os aplicativos do .NET Framework estavam recebendo um RID padrão incompatível com o grafo 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 arquivo de ativos 'D:\1\s\artifacts\obj\MSBuild\project.assets.json' não tem um destino para 'net472/win7-x64'. Verifique se a restauração foi executada e se você incluiu 'net472' no TargetFrameworks para seu projeto. Talvez você também precise incluir 'win7-x64' nos RuntimeIdentifiers do 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 o identificador de runtime para um valor compatível com o grafo 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 grafo RID antigo definindo
UseRidGraphparatrueno arquivo de projeto:<PropertyGroup> <UseRidGraph>true</UseRidGraph> </PropertyGroup>
APIs afetadas
Nenhum.