【问题标题】:How does NuGet contentFiles work?NuGet 内容文件如何工作?
【发布时间】:2017-12-04 18:13:50
【问题描述】:

我正在尝试创建一个包含适用于不同类型项目的内容的 nuget 包。

TestSource.nuspec 如下所示:
<contentFiles> <files include="cs\any\TestSource.cs" buildAction="Compile" /> </contentFiles> </metadata> <files> <file src="TestFolder\TestSource.cs" target="content/TestFolder" /> </files> (该文件以contentFiles\cs\any\TestSource.csTestFolder\TestSource.cs 的形式提供)

创建的包在“正常”项目中工作正常,但在包引用项目中没有任何反应。

我想我错过了一些简单的东西

【问题讨论】:

    标签: nuget


    【解决方案1】:

    这是我自己发现的。

    您需要在文件部分添加两次文件

      <contentFiles>
        <files include="cs\any\TestSource.cs" buildAction="Compile" />
      </contentFiles>
    </metadata>
    <files> 
      <file src="TestFolder\TestSource.cs" target="content/TestFolder" />
      <file src="TestFolder\TestSource.cs" target="contentFiles/cs/any" />
    </files>
    

    该包随后将适用于普通项目和包引用项目。

    【讨论】:

    • 将告诉包在打包时从哪里获取文件。 将告诉包在构建包含此包的项目时要提取 什么。将您创建包的 .nuspec 文件与生成的包中的文件进行比较。您会注意到 元素消失了,而 仍然存在(有时会因打包过程而有所改变)。这背后的原因是,一旦打包了文件,文件的来源就无关紧要了。
    猜你喜欢
    • 2021-02-19
    • 2017-11-01
    • 2015-08-12
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多