如何在NuGet包中更改目标文件名?

Aka*_*ava 7 msbuild nuget nuget-package

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

我想以my-library.js这样的方式创建NuGet包,在安装时它应该被部署为my-library.1.34.js

如果我构建nuget包作为msbuild进程的一部分,我无法重命名我的输出js文件.

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

Tom*_*Tom 4

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

例如(nuspec 片段):

<files>
<file src="my-library.js" target="content/my-library.$VERSION$.js">
</files> 
Run Code Online (Sandbox Code Playgroud)

nuget 的运行方式如下:

nuget.exe pack mypackage.nuspec -Prop VERSION=1.34
Run Code Online (Sandbox Code Playgroud)

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