Saya mengalami masalah serupa, tetapi dengan v4.7.2
. Yaitu, saya terus mendapatkan pesan log build seperti ini:
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.
Terlepas dari kenyataan bahwa itu tampak serupa, tidak ada langkah yang diusulkan di atas yang berhasil untuk saya. Saya terus melihat pesan ini setelah setiap build. Sepertinya tidak ada yang bisa membantu.
Faktanya, masalahnya terkait dengan itu, karena migrasi, saya harus meletakkan dua proyek dalam satu folder kode. Salah satunya ditargetkan pada .Net Core , yang lain di .Net Framework , keduanya mereferensikan pustaka .Net Standard yang sama. Rupanya, mereka berbagi obj
folder yang sama tempat proyek Inti meletakkan project.assets.json
file. Sebenarnya, sebenarnya file ini mengganggu proyek Framework yang mencegah pembuatan normalnya. Tampaknya bahkan jika Anda melakukan Migrasi dari packages.config ke PackageReference ... yang direkomendasikan sebagai salah satu solusi yang memungkinkan.
Anda dapat mencoba memperbaiki masalah ini dengan memasukkan cuplikan berikut ke dalam file proyek Framework Anda:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
Itu langsung bekerja untuk saya, baru kemudian ketika saya dengan penuh perhatian membaca mengapa kita membutuhkannya dan mengapa itu berhasil. Saya tiba-tiba menemukannya di bagian 2 dari Migrasi Contoh Aplikasi WPF ke .NET Core 3 di bawah Memastikan bagian proyek .NET Framework masih membangun . BaseOutputPath
dan BaseIntermediateOutputPath
variabel msbuild dapat ditemukan di sana, tidak yakin apakah mereka terdokumentasi dengan baik di mana saja.