Я знаю, что вопрос был задан раньше, но ни одно из предложенных резолюций не работает для меня, поэтому я собираюсь попросить его снова и, надеюсь, получить новые предложения. Некоторые из статей я прочитал:.Net 2015 Ссылки с желтым треугольником для пакетов Nuget на портативных библиотеках
VS .Net References with yellow triangle Why do I get a warning icon when I add a reference to an MEF plugin project? The exclamation mark in the yellow triangle icon (inside Solution Explorer)
Мои 5 портативных библиотек, безусловно, все ориентированные на одни и те же рамки (я проверил и перепроверил, как это было одним из предложений!):
- .NET Framework 4.5
- ASP.NET ядро 1,0
- Windows Phone 8
- Windows Phone 8,1
- Windows Phone Silverlight 8
- Xamarin.Android
- Xamarin.iOS
- Xamarin.iOS (классический)
Что я пробовал/сделано до сих пор:
- Удалите ссылки пакета Nuget вручную из всех проектов.
- Проверьте каждый .csproj и убедитесь, что ссылки действительно удалены.
- Удалить папку пакетов в корне моего решения
- Пробовал переустановить все пакеты с помощью диспетчера консоли. Пока еще не отображается желтый треугольник.
- Пробовал переустановить все пакеты через менеджер Nuget. Пока еще не отображается желтый треугольник.
Вот часть одного из моих портативных библиотек классов:
<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>
Моего physcial путь проекта:
C: \ XXXX \ хххххх \ хххого-ххххххе
поэтому, принимая пример 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
Это кажется проблемой только для моих портативных библиотек, поскольку я переустанавливаю все пакеты Nuget на мое решение uwp, и все они работали, как ожидалось. Удручающая часть заключается в том, что мой проект, который все еще находится в его первоначальном месте, работает отлично. Я удалил пакеты и переустановил их, и все работает на 100%, как и ожидалось.
У кого-нибудь есть другие предложения?
При выборе библиотеки с восклицанием и проверить свойства панели он говорит вам что-нибудь полезное? – Gusman
Посмотрите в окне «Список ошибок», некоторые факторы, которые анализатор IntelliSense имеет полезное предупреждение. –
@ Gusman - Не вещь, но я действительно сравнил ее с моим рабочим проектом и, как ни странно, в рабочем проекте у него есть «Копировать локальную» и «Специфическую версию», установленную в true, в то время как в нерабочем проекте оба для этих свойств установлено значение false. Кроме того, свойства «Runtime Version» и «Version» устанавливаются в рабочей копии, но не в другой! Я попытаюсь изменить «Копировать локальную» и «Специфическую версию» на true, но я думаю, что для этого есть нечто большее, чем это, если честно. – Thierry