web-dev-qa-db-ja.com

Visual Studio 2017の依存関係で黄色い警告三角形は何を意味しますか?

PCLライブラリを新しい.Net標準ライブラリに変換したところです。以下に示すように、依存関係に黄色の警告の三角形がいくつかあります。

enter image description here

変換中に、すべてのnugetパッケージが依存関係を含むようになったため、重複する可能性がありました。

黄色の警告の三角形が何を表すのかを知るにはどうすればよいですか?

編集

ビルドログ:

ビルド中にNuGetがパッケージを復元しないようにするには、Visual Studioの[オプション]ダイアログを開き、[パッケージマネージャー]ノードをクリックし、[ビルド中にNuGetに不足しているパッケージのダウンロードを許可する]をオフにします。 NU1605:パッケージのダウングレードが検出されました:NUnit 3.8.1から2.6.4プロジェクトから直接パッケージを参照して、別のバージョンを選択します。
MyProj.UI.Tests-> MyProj.Core.Tests-> NUnit(> = 3.8.1)
MyProj.UI.Tests-> NUnit(> = 2.6.4)NU1605:パッケージのダウングレードが検出されました:NUnit 3.8.1から2.6.4。プロジェクトから直接パッケージを参照して、別のバージョンを選択します。 MyProj.UI.Tests.iOS-> MyProj.UI.Tests-> MyProj.Core.Tests-> NUnit(> = 3.8.1)MyProj.UI.Tests.iOS-> NUnit(> = 2.6.4)NU1605:パッケージのダウングレードが検出されました:NUnit 3.8.1から2.6.4プロジェクトから直接パッケージを参照して、別のバージョンを選択します。
MyProj.UI.Tests.Android-> MyProj.UI.Tests-> MyProj.Core.Tests-> NUnit(> = 3.8.1)MyProj.UI.Tests.Android-> NUnit(> = 2.6 .4)

32
user1

ビルドログで私はたまたまこれに気づきました:

C:\ Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.DefaultItems.targets(199,5):警告: 'NETStandard.Library'のPackageReferenceはプロジェクトに含まれています。このパッケージは.NET SDKによって暗黙的に参照され、通常はプロジェクトから参照する必要はありません。詳細については、 https://aka.ms/sdkimplicitrefs を参照してください

したがって、.Net Standardnuget の依存関係としてリストされているすべてのパッケージをアンインストールして、ここにリストしました。

。NETStandard 1.1

  • Microsoft.NETCore.Platforms(> = 1.1.0)

  • System.Collections(> = 4.3.0)

  • System.Collections.Concurrent(> = 4.3.0)

  • System.Diagnostics.Debug(> => 4.3.0)

  • System.Diagnostics.Tools(> = 4.3.0)

  • System.Diagnostics.Tracing(> = 4.3.0)

  • System.Globalization(> = 4.3.0)

  • System.IO(> = 4.3.0)

  • System.IO.Compression(> = 4.3.0)

  • System.Linq(> = 4.3.0)

  • System.Linq.Expressions(> = 4.3.0)

  • System.Net.Http(> = 4.3.2)

  • System.Net.Primitives(> = 4.3.0)

  • System.ObjectModel(> = 4.3.0)

  • System.Reflection(> = 4.3.0)

  • System.Reflection.Extensions(> = 4.3.0)

  • System.Reflection.Primitives(> = 4.3.0)

  • System.Resources.ResourceManager(> = 4.3.0)

  • System.Runtime(> = 4.3.0)

  • System.Runtime.Extensions(> = 4.3.0)

  • System.Runtime.InteropServices(> = 4.3.0)

  • System.Runtime.InteropServices.RuntimeInformation(> => 4.3.0)

  • System.Runtime.Numerics(> = 4.3.0)

  • System.Text.Encoding(> = 4.3.0)

  • System.Text.Encoding.Extensions(> = 4.3.0)

  • System.Text.RegularExpressions(> = 4.3.0)

  • System.Threading(> = 4.3.0)

  • System.Threading.Tasks(> = 4.3.0)

  • System.Xml.ReaderWriter(> = 4.3.0)

  • System.Xml.XDocument(> = 4.3.0)

そして、黄色の警告が消えました。

ここから: https://blogs.msdn.Microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/

また、次のようにNoWarnプロパティを使用できることもわかりました。

<ItemGroup>
  <PackageReference Include="Huitian.PowerCollections" Version="1.0.0" NoWarn="NU1701" />
</ItemGroup>
5
user1

複雑な操作を行う前にdotnet restoreを実行すると、エラーウィンドウやソリューションエクスプローラーよりも多くの情報が提供されます。

Package Managerコンソールでこのコマンドを実行できます。

ツール> NuGetパッケージマネージャー>パッケージマネージャーコンソール

16
AlexandreG

黄色の三角形は、パッケージの物理ファイルがなくなり、HDDで使用できなくなったことを意味します。

これは通常、TFSのソース管理でget latest version要求を発行する場合、特に新しいマシンを使用する場合に発生し、TFSサーバーからプロジェクトコードを取得する必要があります。

low quality internet connectionが原因である可能性もあります。ほとんどの場合、データが失われたり、ダウンロードされたファイルが破損したりします。

enter image description here

問題でいくつかのパッケージが欠落している場合、packages.configファイルを変更し、packages.configからこれらのパッケージを削除し、nugetパッケージマネージャーを使用して欠落しているパッケージを再インストールできます。

しかし、問題がいくつかのパッケージよりも不足している場合、不足しているパッケージを取得するための最良かつ迅速な方法は次のとおりです。

  1. Visual Studioの新しいインスタンスを開く
  2. パッケージが欠落しているものと同じプロジェクトタイプの新しいプロジェクトソリューションを作成します(例:個人ユーザーアカウントを持つASP.Net MVC)
  3. 以前のプロジェクトソリューションのパッケージバージョンと一致するように、新しいプロジェクトのパッケージを最新に更新します
  4. ファイルエクスプローラーを開き、作成した新しいソリューションのパッケージフォルダーに移動します
  5. すべてを選択してフォルダーPackagesのすべてのコンテンツをコピーします。パッケージフォルダー自体はフォルダー内のコンテンツのみをコピーしません。
  6. それを以前のソリューション(パッケージが欠落しているソリューション)のPackagesフォルダーに貼り付け、既存のアイテムを上書きします。
  7. ソリューションエクスプローラーでパッケージフォルダーに移動して展開し、更新ボタンをクリックして、不足しているパッケージの多くが黄色の三角形なしで表示されていることを確認します
  8. 最後に、新しいソリューションを作成するときにデフォルトで含まれていないいくつかのパッケージが不足することになります。それらをpackages.configファイル(nugetパッケージマネージャが読み込むファイル)から削除して、インストール済みパッケージを決定する必要があります。 nugetパッケージマネージャーを使用して、新規としてインストールします。

プロジェクトから欠落しているファイルに関連するこのような問題は常に修正するのが難しく、開発者の経験に依存するため、この簡単な解決策を期待しないでください。

エラーの原因について、Microsoftはそれがバグであると言っていますが、Visual Studioのどのバージョンでも発生する可能性があります。

4
Ashraf Abusada

ささいなことですが、VSを再構築してから再起動してみてください。

2
Tim Tyler

他のすべてがロードされない原因となる可能性のあるパッケージが1つある場合があります。 .csprojからパッケージを1つずつコメントしてみて、どのパッケージが問題であるかを見つけて絞り込みます。

0

ダウンロードして install IIS Express

0
developer