Benzer bir sorunu yaşadım ama ile v4.7.2
. Yani, şöyle bir günlük mesajı oluşturmaya devam ettim:
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.
Benzer görünmesine rağmen, yukarıda önerilen adımların hiçbiri benim için işe yaramadı. Her derlemeden sonra bu mesajı görmeye devam ettim. Hiçbir şey yardımcı olamaz gibiydi.
Aslında sorun bununla ilgiliydi, geçiş nedeniyle iki projeyi bir kod klasörüne koymak zorunda kaldım . Bunlardan biri .Net Core'u , diğeri .Net Framework'ü hedef aldı , her ikisi de aynı .Net Standard kitaplıklarına başvurdu. Görünüşe göre obj
Core projelerinin project.assets.json
dosya koyduğu aynı klasörü paylaşıyorlar . Aslında tam olarak bu dosya Framework projesine müdahale ederek normal yapısını engelliyor. Muhtemel çözümlerden biri olarak önerilen packages.config'den PackageReference ... ' e geçiş yapmış olsanız bile görünüyor .
Aşağıdaki parçacığı Framework proje dosyanıza ekleyerek sorunu çözmeyi deneyebilirsiniz:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
Benim için hemen işe yaradı, ancak daha sonra neden ihtiyacımız olduğunu ve neden işe yaradığını dikkatlice okuduğumda oldu. Ben beklenmedik buldum kısmının 2 arasında .NET Çekirdek 3 göç bir örnek WPF Uygulama kapsamında .NET Framework proje hala oluşturur emin olma bölüm. BaseOutputPath
ve BaseIntermediateOutputPath
msbuild değişkenleri orada bulunabilir, herhangi bir yerde iyi belgelenmiş olup olmadıklarından emin değildir.