未为 NuGet 包添加参考
Reference not added for 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.
虽然我们还有其他几个以相同方式构造和构建的自定义 NuGet 包,但这是唯一具有此行为的包。 .nupkg
中的 .nuspec
看起来不错,程序集在正确的 (net45
) 文件夹中。
NuGet 将您的 NuGet 包视为仅包含语言资源的 localized NuGet package。未引用此类 NuGet 包中的程序集。
例如,如果您将 My.Resources.dll 重命名为类似 My.Resources2.dll 的名称,则 NuGet 将引用程序集。
基本上任何以 .resources.dll 结尾的文件都被 NuGet 视为资源程序集,在安装 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 包,但这是唯一具有此行为的包。 .nupkg
中的 .nuspec
看起来不错,程序集在正确的 (net45
) 文件夹中。
NuGet 将您的 NuGet 包视为仅包含语言资源的 localized NuGet package。未引用此类 NuGet 包中的程序集。
例如,如果您将 My.Resources.dll 重命名为类似 My.Resources2.dll 的名称,则 NuGet 将引用程序集。
基本上任何以 .resources.dll 结尾的文件都被 NuGet 视为资源程序集,在安装 NuGet 包时将不会被引用。