約30のプロジェクトを含む.netソリューションがあり、それらはすべて.Net Framework 4.5を対象としています。それぞれが少なくとも3〜4個のNuGetパッケージを参照しています。
これらを.Net Framework 4.6.1に更新する必要があります。だからここに私が知る必要があるものがあります:
パッケージは自動的にリターゲットされませんが、これに対する自動修正があります。
パッケージマネージャーコンソールで次を実行します。
Update-Package -Reinstall
これにより、パッケージマネージャーはすべてのプロジェクトのすべてのパッケージを(参照されているパッケージのバージョンを変更せずに)再インストールします。
新しいフレームワークをターゲットにした後にパッケージを再インストールすると、すべての参照が正しいバージョンに変更されます。
また、これを単一のプロジェクトに対して実行することもできます:
Update-Package -Reinstall -ProjectName Project.Name.Here
私はこの手法を何度も使用して、nugetの参照の問題を修正しました。
1すべての.csprojファイルを見つけて置き換えます
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
と
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
2パッケージマネージャーコンソールを開き、実行します
Update-Package -Reinstall -IgnoreDependencies
3すべてのソリューションを見つけて、それぞれをmsbuildします。