【问题标题】:How to inherit referenced assemblies in NuGet package如何继承 NuGet 包中引用的程序集
【发布时间】:2017-07-14 22:13:01
【问题描述】:

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

TIA

【问题讨论】:

  • 如果您将引用的 dll 和主项目包含在一个 nuget 包中并设置referencessee assembly references,则可以这样做
  • 这个是否引用了bin中的dll?
  • 我作为答案发布了它更清楚

标签: c# nuget nuget-package


【解决方案1】:

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

来自文档:

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

【讨论】:

    【解决方案2】:

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

    .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>
    

    【讨论】:

    • 谢谢。这正是我所需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2022-01-14
    • 2021-06-13
    相关资源
    最近更新 更多