【问题标题】:Build a NuGet package from project but without any references从项目构建 NuGet 包但没有任何引用
【发布时间】:2014-06-11 18:35:53
【问题描述】:

我创建了一个 T4 模板,我想在使用 NuGet 的多个项目中重复使用该模板。此模板基于自定义类,因此我需要使用模板分发 DLL。 DLL 在生成期间由模板使用,但项目本身不使用,所以我不希望它作为参考添加到目标项目中。

我的 .nuspec 文件包含我的 DLL 并将其放在包的根目录中,这将阻止它创建引用,如果我手动构建我的包,一切正常。不幸的是,我想使用“nuget pack”命令来自动获取版本号。当我运行此命令并引用项目文件时,它包含我的 DLL 两次,一次在根目录中(正如我在 nuspec 文件中指定的那样),另一次在 lib 文件夹中(以及 bin 文件夹中的所有内容)。

如何在不包含任何引用的情况下自动构建我的 NuGet 包。似乎有几种解决方案,但我无法弄清楚它们中的任何一个:

  1. 让 nuget 将我的 DLL 包含在 lib 文件夹中,但阻止它创建引用。我知道我可以使用 <references> 部分来引用一些 DLL 而不是其他的,但在这种情况下,我不希望它引用任何内容。如果我将 <references> 部分留空,则它要么被忽略,要么我收到错误,具体取决于我留空的级别。
  2. 防止 nuget 自动包含任何 DLL,并且包含 nuspec 文件的 <files> 部分中的文件。不幸的是,如果不自动包含我的 DLL,我无法弄清楚如何从项目文件构建包。

有什么想法吗?

【问题讨论】:

    标签: nuget t4 nuget-package


    【解决方案1】:

    如果您右键单击 DLL,您可能会看到它的“构建操作”设置为“内容”。尝试将其设置为“无”。

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2016-02-06
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多