2016-02-29 4 views
1

У меня есть собственный пакет NuGet (My.Resources), содержащий сборку и зависимость от другого настраиваемого пакета NuGet (My.Base).Ссылка не добавлена ​​для пакета NuGet

Если я устанавливаю пакет, установка завершается успешно, но ссылка на сборку не добавляется. Вот полный выход из команды Install-Package:

Attempting to resolve dependency 'My.Base (≥ 1.0.0)'. 
Installing 'My.Base 1.0.0'. 
Added file 'My.Base.dll' to folder 'My.Base.1.0.0\lib\net45'. 
Added file 'My.Base.1.0.0.nupkg' to folder 'My.Base.1.0.0'. 
Successfully installed 'My.Base 1.0.0'. 
Installing 'My.Rsources 1.1.0-beta0001'. 
Added file 'My.Resources.dll' to folder 'My.Resources.1.1.0-beta0001\lib\net45'. 
Added file 'My.Resources.XML' to folder 'My.Resources.1.1.0-beta0001\lib\net45'. 
Added file 'My.Resources.1.1.0-beta0001.nupkg' to folder 'My.Resources.1.1.0-beta0001'. 
Successfully installed 'My.Resources 1.1.0-beta0001'. 
Adding 'My.Base 1.0.0' to WindowsFormsApplication8. 
For adding package 'My.Base 1.0.0' to project 'WindowsFormsApplication8' that targets 'net45', 
>> Assembly references are being added from 'lib\net45' 
Added reference 'My.Base' to project 'WindowsFormsApplication8' 
Added file 'packages.config'. 
Added file 'packages.config' to project 'WindowsFormsApplication8' 
Successfully added 'My.Base 1.0.0' to WindowsFormsApplication8. 
Adding 'My.Resources 1.1.0-beta0001' to WindowsFormsApplication8. 
Added file 'packages.config'. 
Successfully added 'My.Resources 1.1.0-beta0001' to WindowsFormsApplication8. 

В то время как у нас есть несколько других пользовательских NuGet пакетов структурирован и построить таким же образом, это единственный один с этим поведением. .nuspec внутри .nupkg выглядит хорошо, а сборка находится в правильной папке (net45).

ответ

4

NuGet обрабатывает ваш пакет NuGet как localized NuGet package, который содержит только языковые ресурсы. Ассембли в этом пакете NuGet не ссылаются.

Если вы, например, переименуете свой My.Resources.dll на что-то вроде My.Resources2.dll, то NuGet будет ссылаться на сборку.

В принципе, любой файл, который заканчивается на .resources.dll, рассматривается NuGet как сборка ресурса, на который не будет указан пакет NuGet.

Смежные вопросы