以前に質問されたことは知っていますが、提案された解決策はどれも役に立たないので、もう一度質問し、できれば新しい提案を取得します。私が読んだ記事のいくつか:
VS .Net References with yellow triangleMEFプラグインプロジェクトに参照を追加すると警告アイコンが表示されるのはなぜですか?黄色の三角形の感嘆符アイコン(ソリューションエクスプローラー内)
私の5つのポータブルライブラリは、間違いなくすべて同じフレームワークを対象としています(これは提案の1つであったため、チェックして再チェックしました!):
これまでに試した/行ったこと:
ポータブルクラスライブラリの1つのセクションを次に示します。
<ItemGroup>
<Reference Include="crypto">
<HintPath>..\..\..\packages\Portable.BouncyCastle.1.8.1\lib\portable-
net4+sl5+wp8+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10
\crypto.dll
</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\..\packages\Newtonsoft.Json.8.0.3\lib\portable-
net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll
</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http">
<HintPath>..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable-
net40+sl4+win8+wp71+wpa81\System.Net.Http.dll
</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Extensions">
<HintPath>..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable-
net40+sl4+win8+wp71+wpa81\System.Net.Http.Extensions.dll
</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Primitives">
<HintPath>..\..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable-
net40+sl4+win8+wp71+wpa81\System.Net.Http.Primitives.dll
</HintPath>
<Private>True</Private>
</Reference>
私の物理的なプロジェクトパスは次のとおりです。
C:\ xxxx\xxxxxx\xxxxx-xxxxxxx
したがって、bouncycastleを例として、上記に基づいて、フルパスは次のようになります。
C:\ xxxx\xxxxxx\xxxxx-xxxxxxx\packages\Portable.BouncyCastle.1.8.1\lib\portable-net4 + sl5 + wp8 + win8 + wpa81 + MonoTouch10 + MonoAndroid10 + xamarinmac20 + xamarinios10\crypto.dll
UwpソリューションにすべてのNugetパッケージを再インストールしたので、これは私のポータブルライブラリでのみ問題になりそうで、すべて正常に機能しました。イライラする部分は、まだ元の場所にある私のプロジェクトが完全にうまく機能していることです。パッケージをアンインストールして再インストールしましたが、すべてが期待どおりに動作しています。
誰か他の提案がありますか?
私は問題が何であるかを見つけました!
@Gusmanに言及したように、警告をオフにしました。電源をオンにすると、ポータブルプロジェクトで次のメッセージが表示されました。
Warning: IDE0006 - Error encountered while loading the project. Some project
features, such as full solution analysis for the failed project and projects
that depend on it, have been disabled
この記事へのリンクを提供しました プロジェクトシステムビルドエラーの診断
提供された指示に従い、designtime.log
で終わる多数のファイルを調べた後、それらのすべてにFAIL
パッケージを参照するNuget
があることに気付きましたが、前述のように、すべて削除しました私のさまざまなプロジェクトからのそれらの、それで私はそれらの1つから.csproj
を再チェックするために行った、これは私が問題を見つけたときです!
実際には2つの問題があります。
Nuget
のMicrosoft.BCL.Build
参照は正しく削除されません!!
Microsoft.BCL.Build
Nugetパッケージを再追加すると、.csproj
にパスが正しく設定されません
以下に障害の例を示します。
<Import Project="..\..\..\packages\Microsoft.Bcl.Build.1.0.21
\build\Microsoft.Bcl.Build.targets" Condition="Exists
('..\..\..\packages\Microsoft.Bcl.Build.1.0.21
\build\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\
Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format
('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21
\build\Microsoft.Bcl.Build.targets'))" />
<Error Condition="!Exists('..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\
Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format
('$(ErrorText)', '..\..\..\packages\Microsoft.Bcl.Build.1.0.21\
build\Microsoft.Bcl.Build.targets'))" />
</Target>
最初の行、つまり<Import Project="..\..\..\packages\Microsoft.Bcl.Build.1.0.21>
は表示されないはずですが、Microsoft.BCL.Build
が削除されてもプロジェクトに残っているように見えます。
必要な場合はそのままにして、2番目のエントリを修正します。これが私がしたことです。ご覧のとおり、Microsoft.BCL.Build
Nuget
パッケージをチェックする2つのエントリがあります。私の場合、最初の1つを削除しました。
`<Error Condition="!Exists('..\packages\`
そしてこれを保持しました:
`<Error Condition="!Exists('..\..\..\packages\`
.csproj
の編集が完了したら、ソリューションでプロジェクトをリロードし、Microsoft.BCL.Buildの問題が解決されただけでなく、黄色の三角形でマークされた他のすべてのNuget依存関係も解決しました。
これで私の一日のほとんどを無駄にしましたが、うまくいけば、これは他の人を助けるでしょう。
インストール中に出力エラーがなく、ビルド/リビルドで警告がない場合。単に:
- Visual Studioを再起動します
フレームワークDotNetCoreApp 1.1の2つのプロジェクトで、vs2017のソリューションで同じ問題に直面しました。 Allパッケージに感嘆符/黄色の三角形が表示されました。管理者としてvs2017を実行すると、解決しました。
GitHubからラップトップにプロジェクトを複製したときに同じ問題が発生しました。 EntityFrameworkとAspNet.Identityにも黄色の三角形が表示されます。私の場合、この問題を解決するために行ったのは、パッケージフォルダー(Nugetパッケージを含む)を削除し、プロジェクトを開いた後にパッケージを復元することでした。その結果、VS2017を再起動した後、これらの警告はオフになりました。