2013-11-21 10 views
12

Nugetを使用するプロジェクトでは作業していますが、パッケージ復元は使用しません。 (これは私が制御できない決断ですので、パッケージの復元を可能にする答えは私が使用できるものではありません)パッケージのリストアを使用していませんが、引き続き「nugetパッケージをインストールする必要があります。Microsoft.Bcl.Build」

ソリューション内のいくつかのプロジェクトリンクはIターンしたいと思うことを前提とし

...packages\Microsoft.Bcl.Build.1.0.13\tools\Microsoft.Bcl.Build.targets(225,5): warning : All projects referencing Valhalla.Consumer.Core.csproj must install nuget package Microsoft.Bcl.Build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317569.

:; 34の総WinJSのアプリストアのプロジェクト、2つの通常の.NETクラスライブラリ、および私のAzureのクラウドプロジェクトの一つ)は、この悪名高い警告を報告していますパッケージを復元します。これまで私がこのテーマで見つけ出したすべてのアドバイスがあります。

[パッケージの復元]を[オプション] - > [パッケージマネージャ] - > [一般設定]で無効にしてみました。それは助けになりません(もしそうであっても、それは望ましくないでしょう - 私が働いているすべてのものでパッケージ復元を使用します)。

パッケージの復元を使用しないソリューションでこれがなぜ発生しているのか分かりません。私が理解しているように、それが求めているパッケージの全ポイントは、パッケージのリストアをサポートすることです。したがって、パッケージの復元が使用されていないソリューションでは、このパッケージが存在することが奇妙に見えます。

しかし、他のいくつかのナゲットパッケージでは、これに依存するように見えます。私はMicrosoft.Bcl、何らかの理由でMicrosoft.Bcl.Buildに依存しているナゲットパッケージを使用するWindowsランタイムコンポーネントプロジェクトを持っています。 (Visual Studioは私がプロジェクトを作成したときに私のためにMicrosoft.Bclパッケージを追加したようだったので、おそらくそれが必要です。)他のプロジェクトはHTTPクライアントライブラリを介してMicrosoft.Bcl.Buildに依存しているようです。

明らかに、特定の一般的なナゲットパッケージは、パッケージ復元を使用しているかどうかにかかわらず、Microsoft.Bcl.Buildに依存するように見えます。

この警告を受け取ったすべてのプロジェクトに関連パッケージを追加するだけで警告を消すことができれば、これで問題はありません。しかし、厄介なのは、私がMicrosoft.Bcl.Buildパッケージを消費コンポーネント(例えば、WinJS Window Storeアプリ)に追加したとしても、私はまだこの警告を受け取ります。 (だから私はそれをインストールした後でも、ナゲットパッケージをインストールする必要があると不満を続けています)

誰もこの状況でこの警告を排除する方法を知っていますか?それが私に求めていることをすることは十分ではないようです。何が欠けている?

+1

で提案されているように、プロジェクトにSkipValidatePackageReferencesプロパティを使用してみましたMicrosoft.Bcl.Build.targetsファイル? –

+0

それはそれを取り除きますが、正当な警告も防止しませんか?プロジェクトUがプロジェクトPを使用している場合、UはPと同じナゲットパッケージをすべて持っているはずです。通常、何かが欠落しているかどうかを確認して通知しますが、この設定はそのチェックを無効にします。私は実際にパッケージを紛失しているときに警告を出したいと思いますが、実際にはMicrosoft.Bcl.Buildについての警告は表示されません。 –

+0

パッケージ復元機能が有効になっている場合はダンノーNuGetのv2.7 +でOOTBを使用する場合は何でも使用できます(Microsoft.Bcl.BuildのKnow zilch) –

答えて

7

私は同じ問題がありました。 Microsoft.Bcl.Buildパッケージを1.0.13から1.0.14にアップデートすることで、私の問題は解決しました。

+0

私はVSのバージョンを更新する必要がありました –

+0

私はすでにvs 2013コミュニティのアップデート4で1.0.14になっており、警告があります。私は何をすべきか ? – Julian50

+0

@FrankSposaroバージョンをインストールしましたか? – Julian50

4

最近同じ問題が発生しました。 Nuget 2.8、BCLビルド1.0.14、BCL 1.1.9を使用して、別のプロジェクトBによって参照されたBCLビルドを使用するプロジェクトAがありました。

短編小説:プロジェクトBのコンパイルでは、それに加えられた。解決策は、パッケージを削除してパッケージを再追加することでした。私たちはプロジェクトAとプロジェクトBの両方でそれをやりました。

私は問題の原因がバージョンの不一致であったと思います。プロジェクトBが最新のBCL 1.1.9を自動的に使用していた間に、BCL 1.1.8(作成された最新バージョン)を参照していた元のプロジェクトでした。

プロジェクト - > NuGetパッケージマネージャを使用して初めてパッケージを追加したときと、NuGetコンソールを使用して2回目に(ツール - > Nuget->コンソール)、わかりません。

追加、削除は、次の行が追加されたプロジェクトB. のcsprojに明確な違いを引き起こした:

<Import Project="..\..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" /> 

関連する問題