nuget在安装时修改文本内容文件

时间:2016-05-25 10:36:15

标签: visual-studio powershell nuget

我正在编写一个部署内容文件的nuget包。

我希望将它们修改为包含版本号和安装路径。

我找到了this,但似乎只修改了配置文件和源文件。

我注意到install.ps1个脚本,但它们看起来只能转换目标项目及其元素。

如果我想将一个文本文件添加到项目中该怎么办:

You just installed package $packageName version $version in $installPath

中安装后转换
You just installed package myPackage version 1.0.12.12 in packages/myPackage-1.0.12.12

1 个答案:

答案 0 :(得分:0)

事实上,install.ps1脚本在内容文件复制后运行。并且在将内容文件附加到csproj之后运行:

Added file 'myfile.txt' to folder 'mypackage\content'.
Added file 'mypackage.nupkg' to folder 'mypackage'.
Successfully installed 'mypackage'.
Added file 'myfile.txt'.
Added file 'myfile.txt' to project 'myproject'
>> PowerShell scripts are being executed from 'tools' (not framework-specific)
Executing script file 'init.ps1`

这意味着,您可以从$project参数〜:

编辑该脚本中的任何静态文件(访问它们)
param($installPath, $toolsPath, $package, $project)
$myFile = $project.ProjectItems.Item("myfile.txt")
$filePath = $myFile.Document.FullName
$content = Get-Content -Path "$filePath"

我不知道从这个脚本获取软件包版本的规范方法,但它是$installPath参数的一部分。

希望这会有所帮助