Nuget 未添加名称以 .Resources 结尾的程序集的引用

标签 nuget visual-studio-2015 project-reference

当使用 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 结尾的程序集导致了问题。

升级此类程序集时,问题仍然存在 - 引用仍然指向以前的版本,并且包本身仍然保留在包文件夹中。

当然,一种解决方法是简单地手动添加引用,但对于多个项目中使用的定期更改的库来说,这被证明是重复且令人厌烦的。

最佳答案

这似乎是设计使然:-

https://github.com/NuGet/Home/issues/1499

关于Nuget 未添加名称以 .Resources 结尾的程序集的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885995/

相关文章:

c# - 项目引用和方法签名问题

c++ - 在程序集名称中创建具有特殊字符的 NuGet 包

visual-studio - Visual Studio 和 Nuget : Package Manager Console commands history?

c# - 从 Byte 数组创建 BitmapImage 并将其显示在 Image 对象上 UWP Raspberry Pi 3

c# - Visual Studio 扩展 (VSIX/DLL) 到一个 exe

c# - 两个项目中的引用

.net - 在VS中通过dll引用而不是项目引用来管理.NET程序集依赖项

assembly - 如何在 nuget 错误中找到 "lib"文件夹?

command-line - 如何从命令行更新项目中的单个 nuget 包?

c++ - 如何在 Visual Studio C++ 项目中找到 iostream 头文件?