Ссылка не добавлена ​​для пакета NuGet

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

Если я устанавливаю пакет, установка завершается успешно, но ссылка на сборку не добавляется. Вот полный вывод команды 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) папке.


person Pascal Berger    schedule 29.02.2016    source источник


Ответы (1)


NuGet рассматривает ваш пакет NuGet как локализованный пакет NuGet, содержащий только языковые ресурсы. Сборки в пакете NuGet такого типа не упоминаются.

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

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

person Matt Ward    schedule 29.02.2016