从项目构建NuGet包,但没有任何引用

时间:2014-06-11 18:35:54

标签: nuget t4 nuget-package

我创建了一个T4模板,我想在几个使用NuGet的项目中重用它。此模板基于自定义类,因此我需要使用模板分发DLL。 DLL在生成过程中由模板使用,但项目本身并未使用,因此我不希望将其作为参考添加到目标项目中。

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

如何在不包含任何引用的情况下自动构建NuGet包。似乎有几种解决方案,但我无法解决任何问题:

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

1 个答案:

答案 0 :(得分:0)

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