同様の問題が発生しv4.7.2
ましたが、。つまり、次のようなビルドログメッセージが表示され続けました。
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.
それが似ているように見えたという事実にもかかわらず、上記の提案されたステップのどれも私にとってはうまくいきませんでした。ビルドするたびに、このメッセージが表示され続けました。何も助けることができないようでした。
実際、問題はそれに関連しており、移行のために、2つのプロジェクトを1つのコードフォルダーに配置する必要がありました。それらの1つは.NetCoreを対象とし、もう1つは.Net Frameworkを対象としており、どちらも同じ.NetStandardライブラリを参照していました。どうやら、それらobj
はコアプロジェクトがproject.assets.json
ファイルを置くのと同じフォルダを共有しています。実際、このファイルはフレームワークプロジェクトを妨害し、通常のビルドを妨げます。考えられる解決策の1つとして推奨されているpackages.configからPackageReference ...への移行を実行した場合でもそうです。
次のスニペットをフレームワークプロジェクトファイルに入れることで、問題の修正を試みることができます。
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
それはすぐに私のために働きました、私がそれを必要とする理由とそれが働く理由を注意深く読んだのは後でなってからでした。私が予期せずにそれを見つけたパート2の.NETのコア3に移行サンプルWPFアプリケーションの下で、.NET Frameworkプロジェクトがまだビルドを確認してセクションを。BaseOutputPath
そしてBaseIntermediateOutputPath
msbuild変数はそこにありますが、どこかでうまく文書化されているかどうかはわかりません。