【问题标题】:Nuget not adding reference for assemblies whose name ends in .ResourcesNuget 不为名称以 .Resources 结尾的程序集添加引用
【发布时间】:2015-10-01 11:04:21
【问题描述】:

使用 NuGet 包管理器安装包含名称以 .Resources 结尾的程序集的程序包时,程序包会正确安装,但不会将对该程序集的引用添加到项目中。

工具:-

  • Visual Studio Enterprise 2015 v4.6.00081
  • 适用于 Visual Studio 2015 v3.2.60914.10516 的 NuGet 包管理器

.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 内容:-

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

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

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

【问题讨论】:

    标签: nuget visual-studio-2015 project-reference


    【解决方案1】:

    这似乎是设计使然:-

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

    【讨论】:

    • 没有解决办法吗?我有一个以 *.resources.dll 结尾的第三方库 - 我不想重命名它只是为了让 Nuget 工作。那是我唯一的选择吗:-(
    • 除了重命名 dll 或手动处理引用之外,我还没有找到任何解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    相关资源
    最近更新 更多