При использовании диспетчера пакетов NuGet для установки пакета, содержащего сборку, имя которой заканчивается на .Resources, пакет устанавливается правильно, но ссылка на эту сборку не добавляется в проект.
Инструменты: -
- Visual Studio Enterprise 2015 v4.6.00081
- Диспетчер пакетов NuGet для Visual Studio 2015 v3.2.60914.10516
.nuspec-файл:
<?xml version="1.0"?>
<package >
<metadata>
<id>ClassLibrary.TestPackage</id>
<version>1.0.0.0</version>
<title>ClassLibrary.TestPackage</title>
<authors>Me</authors>
<owners>Me</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<tags></tags>
</metadata>
</package>
Содержимое .nupkg: -
- lib
- net46 (.NETFramework,Version=4.6)
- ClassLibrary.Resource.dll
- ClassLibrary.Resources.dll
- ClassLibrary.Resourcex.dll
- ClassLibrary.ResourcesWhatever.dll
- ClassLibrary.Что угодно.dll
- ClassLibrary.WhateverResources.dll
Все 6 сборок представляют собой пустые библиотеки классов, предназначенные для .Net 4.6.
При установке пакета nuget добавляются ссылки на все сборки, кроме:
- ClassLibrary.Resources.dll
Может показаться, что именно сборки, имя которых заканчивается на .Resources, вызывают проблему.
Проблема продолжается и дальше при обновлении такой сборки - ссылка остается указывая на предыдущую версию да и сам пакет остается в папке packages.
Обходной путь, конечно, состоит в том, чтобы просто добавить ссылку вручную, но это оказывается повторяющимся и утомительным для регулярно меняющейся библиотеки, используемой в нескольких проектах.