未为NuGet包添加参考

Pas*_*ger 2 assembly-references nuget nuget-package

我有一个自定义的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.
Run Code Online (Sandbox Code Playgroud)

尽管我们还有其他几种自定义的NuGet程序包以相同的方式构建和构建,但这是唯一具有此行为的程序。该.nuspec内部.nupkg看起来很好和组件处于正确的(net45)的文件夹。

Mat*_*ard 5

NuGet将您的NuGet包视为仅包含语言资源的本地化NuGet包。未引用这种NuGet程序包中的程序集。

例如,如果将My.Resources.dll重命名为My.Resources2.dll之类的文件,则NuGet将引用该程序集。

基本上,任何以.resources.dll结尾的文件都被NuGet视为资源程序集,在安装NuGet软件包时将不会对其进行引用。