【问题标题】:How do I change target filename in NuGet Package?如何更改 NuGet 包中的目标文件名?
【发布时间】:2014-04-23 10:53:32
【问题描述】:

JavaScript 命名约定要求文件名中包含版本号,例如 jQuery.1.34.min.js,我有一个文本模板,它将在输出文件夹中输出 my-library.js

我想用my-library.js 创建 NuGet 包,在安装时它应该被部署为my-library.1.34.js

如果我在 msbuild 过程中构建 nuget 包,我无法重命名我的输出 js 文件。

我已经有一个很长的解决方法,其中我有一个控制台应用程序,它将文件复制到给定版本号的文件夹结构,然后它构建一个 nuspec 文件,然后将它传递给 nuget.exe,如果有的话很简单,我想避免这么长的步骤。

【问题讨论】:

    标签: msbuild nuget nuget-package


    【解决方案1】:

    我发现我可以通过为目标指定完整的文件名来重命名包含文件。

    例如(nuspec sn-p):

    <files>
    <file src="my-library.js" target="content/my-library.$VERSION$.js">
    </files> 
    

    nuget 会像这样运行:

    nuget.exe pack mypackage.nuspec -Prop VERSION=1.34
    

    注意:src 和 target 中的文件扩展名必须匹配,否则指定的 target 将被视为目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2012-04-26
      相关资源
      最近更新 更多