如何在NuGet包中继承引用的程序集

时间:2017-07-14 22:13:01

标签: c# nuget nuget-package

简单的问题。我有一个NuGet包项目。该项目引用其他类库项目(它们不是NuGet包)。我希望我的NuGet包将其引用DLL加载到安装包的项目中。这是可能的,还是我所有引用的类库都需要是NuGet包才能将它们指定为依赖项?

TIA

2 个答案:

答案 0 :(得分:2)

执行nuget pack命令时,您可以指定选项IncludeReferencedProjects

来自文档:

  

表示构建的包应该包含引用的项目作为依赖项或作为包的一部分。如果引用的项目具有与项目具有相同名称的相应.nuspec文件,则该引用的项目将作为依赖项添加。否则,引用的项目将作为包的一部分添加。

答案 1 :(得分:1)

您可以将引用的dll作为文件添加到nuspec,并可以在nuget包中立即设置源路径文件和目标路径文件。接下来,您应该在nuspec中添加对此文件的引用。它看起来像这样(我删除了其他元数据):

.nuspec

<?xml version="1.0" encoding="utf-8"?>
<package>
  <metadata>
    ...
    <references>
      <reference file="First.dll" />
      <reference file="Second.dll" />
    </references>
  </metadata>
  <files>
    <file src="SomePath\First.dll" target="lib\First.dll" />
    <file src="SomePath\Second.dll" target="lib\Second.dll" />
  </files>
</package>