Eu experimentei um problema semelhante, mas com v4.7.2
. Ou seja, continuei recebendo mensagens de log de compilação como esta:
error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
Apesar de parecer semelhante, nenhuma das etapas propostas acima funcionou para mim. Continuei vendo essa mensagem após cada construção. Nada parecia ser capaz de ajudar.
Na verdade, o problema estava relacionado a que, devido à migração, tive que colocar dois projetos em uma pasta de código. Um deles era voltado para .Net Core , outro para .Net Framework , ambos referenciados às mesmas bibliotecas .Net Standard. Aparentemente, eles compartilham a mesma obj
pasta onde os projetos principais colocam o project.assets.json
arquivo. Na verdade, exatamente este arquivo interfere no projeto do Framework impedindo sua construção normal. Parece que até mesmo se você executou Migrate from packages.config para PackageReference ... que foi recomendado como uma das soluções possíveis.
Você pode tentar corrigir o problema colocando o seguinte snippet em seu arquivo de projeto do Framework:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
Funcionou imediatamente para mim, só mais tarde, quando li com atenção por que precisamos e porque funciona. Eu o encontrei inesperadamente na parte 2 de Migrando um aplicativo WPF de exemplo para o .NET Core 3 na seção Garantindo que o projeto .NET Framework ainda seja compilado . BaseOutputPath
e BaseIntermediateOutputPath
as variáveis msbuild podem ser encontradas lá, não tenho certeza se estão bem documentadas em qualquer lugar.