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.
Scenario
O projeto 'MyProject' está tentando restaurar estruturas duplicadas, que têm suporte apenas no resolvedor de dependência padrão quando o SDK do .NET é a versão 10.0.300 ou mais recente. Atualize o SDK do .NET ou remova RestoreUseLegacyDependencyResolver para usar esse recurso.
Questão
O arquivo de projeto tem várias TargetFrameworks entradas que resolvem para a mesma estrutura do NuGet.
Esse cenário é conhecido como aliasing de estrutura, em que diferentes propriedades TargetFramework são mapeadas para a mesma estrutura subjacente.
Por exemplo, um arquivo de projeto como o seguinte define duas estruturas de destino que resolvem para a mesma net9.0 estrutura Do NuGet:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
O aliasing de estrutura só tem suporte no resolvedor de dependência padrão, que requer .NET SDK 10.0.300 ou posterior (SdkAnalysisLevel de 10.0.300 ou posterior).
Quando o resolvedor de dependência herdado está ativo (porque a versão do SDK é mais antiga ou porque RestoreUseLegacyDependencyResolver está definida), o formato de arquivo de ativos não dá suporte a estruturas duplicadas e o NuGet gera esse erro.
Solução
Use uma das seguintes abordagens para resolver este erro:
- Upgrade para .NET SDK 10.0.300 ou posterior, que usa o resolvedor de dependência padrão que dá suporte ao alias de estrutura.
-
Remova a
RestoreUseLegacyDependencyResolverpropriedade do arquivo de projeto ouDirectory.Build.props, se ela estiver definida. Isso permite que o NuGet use o resolvedor de dependência padrão. -
Remova entradas de estrutura duplicadas de sua
TargetFrameworkspropriedade para que cada estrutura de destino seja resolvida para uma estrutura exclusiva do NuGet.