当使用 NuGet 包管理器安装包含名称以 .Resources 结尾的程序集的包时,该包可以正确安装,但对该程序集的引用不会添加到项目中。
工具:-
- Visual Studio Enterprise 2015 v4.6.00081
- 适用于 Visual Studio 2015 的 NuGet 包管理器 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.Whatever.dll
- ClassLibrary.WhateverResources.dll
所有 6 个程序集都是针对 .Net 4.6 的空类库。
安装 nuget 包时,将为所有程序集添加引用,除了:-
- ClassLibrary.Resources.dll
似乎是名称以 .Resources 结尾的程序集导致了问题。
升级此类程序集时,问题仍然存在 - 引用仍然指向以前的版本,并且包本身仍然保留在包文件夹中。
当然,一种解决方法是简单地手动添加引用,但对于多个项目中使用的定期更改的库来说,这被证明是重复且令人厌烦的。
最佳答案
这似乎是设计使然:-
关于Nuget 未添加名称以 .Resources 结尾的程序集的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885995/