JavaScript命名约定需要文件名中的版本号,例如jQuery.1.34.min.js
,我的文本模板将在输出文件夹中输出my-library.js
。
我想用my-library.js
创建NuGet包,安装时应将其部署为my-library.1.34.js
如果我构建nuget包作为msbuild进程的一部分,我无法重命名输出js文件。
我已经有一个很长的解决方法,我有一个控制台应用程序,它将文件复制到文件夹结构作为给定的版本号,然后它构建一个nuspec
文件,然后传递到nuget.exe
,如果有任何简单的话,我想避免这么长的步骤。
答案 0 :(得分:2)
我发现我可以通过指定目标的完整文件名来重命名包含文件。
例如( nuspec代码段):
<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中的文件扩展名必须匹配,否则指定的目标将被视为目录。