1. ホーム
  2. visual-studio

[解決済み] 警告 : MyProject.csproj を参照しているすべてのプロジェクトは、nuget パッケージ Microsoft.Bcl.Build をインストールする必要があります。

2023-02-11 22:04:10

質問

VS 2012 で開発された ASP.NET MVC 4 アプリがあります。 アプリは、メイン プロジェクト (MyProject)、ユニット テスト プロジェクト (MyProject.Tests)、Azure 配置プロジェクト (MyProject.Azure) およびいくつかの汎用ライブラリ プロジェクトで構成されています。

ソリューションまたはメイン プロジェクトのいずれかを右クリックして、[NuGet パッケージの管理] を選択すると、明らかにここ 1 か月ほどで利用可能になった Microsoft アップデートの束が表示されます。 すべて更新] ボタンをクリックすると、明らかな問題もなく更新がインストールされますが、ソリューションを構築すると、このエラー メッセージが 2 回表示されます。

warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build

さて、MyProjectを参照する2つのプロジェクトがあります。MyProject.TestsとMyProject.Azureです。MyProject.Tests を右クリックして ManageNuGet Packages を選択し、Microsoft.Bcl.Build を追加することができます。これで、2つの警告のうちの1つが取り除かれました。しかし VS は MyProject.Azure プロジェクトの NuGet パッケージを管理するオプションを私に与えません。 .

Microsoft.Bcl.Build パッケージを Azure 展開プロジェクトに追加するにはどうすればよいですか。

EDITです。

ユーザーに感謝 うねり のおかげで、この問題に対する Microsoft Connect issue が開かれたことがわかりました。 ここで .

どのように解決するのですか?

警告をダブルクリックすると、警告を無効にするための手順が表示されます。

まだNugetをサポートしていないプロジェクトからのprojectreferenceについては、無効にしても問題ないでしょう。

の以下の部分を参照してください。 太字 は、Microsoft.Bcl.Build.targetsからコピーしたものです。

BclBuildValidateNugetPackageReferences。

このターゲットは、プロジェクトリファレンスに対して SkipValidatePackageReferences=true と設定することにより、プロジェクト参照に対してこのターゲットを無効にすることができます。 を設定することで無効にできます。

<ProjectReference Include="..\pcl\pcl.csproj">
  <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project>
  <Name>pcl</Name>
  <Properties>SkipValidatePackageReferences=true</Properties>
</ProjectReference>