Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Scenario
O projeto 'MyProject' está a tentar restaurar frameworks duplicados, que são suportados apenas no resolvedor de dependências por defeito quando o SDK .NET é a versão 10.0.300 ou posterior. Atualize o seu SDK .NET ou remova o RestoreUseLegacyDependencyResolver para usar esta funcionalidade.
Issue
O teu ficheiro de projeto tem várias TargetFrameworks entradas que resolvem para o mesmo framework NuGet.
Este cenário é conhecido como aliasing de framework, onde diferentes propriedades do TargetFramework correspondem ao mesmo framework subjacente.
Por exemplo, um ficheiro de projeto como o seguinte define dois frameworks-alvo que resolvem ambos para o mesmo net9.0 framework NuGet:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
O aliasing de framework é suportado apenas no resolvedor de dependências padrão, que requer .NET SDK 10.0.300 ou posterior (SdkAnalysisLevel de 10.0.300 ou posterior).
Quando o resolvedor de dependências legado está ativo (seja porque a versão do SDK é mais antiga ou porque RestoreUseLegacyDependencyResolver está definido), o formato de ficheiro dos assets não suporta frameworks duplicados, e o NuGet gera este erro.
Solução
Use uma das seguintes abordagens para resolver este erro:
- Upgrade para .NET SDK 10.0.300 ou posterior, que utiliza o resolvedor de dependências padrão que suporta aliasing de framework.
-
Remove a
RestoreUseLegacyDependencyResolverpropriedade do ficheiro do teu projeto ouDirectory.Build.props, se estiver definida. Isto permite que o NuGet use o resolvedor de dependências por defeito. -
Remova entradas duplicadas do framework da sua
TargetFrameworkspropriedade para que cada framework alvo se resolva para um framework NuGet único.