我想创建一个nuget包,它将在C#项目中的还原时运行Powershell脚本。该脚本将更改项目上项目属性的值,例如:
设定值
<AssemblyVersion>1.0.0.0</AssemblyVersion>
到
<AssemblyVersion>$(ReleaseApplicationVersion)</AssemblyVersion>
和其他一些属性。
提前致谢!
UPDATE -------------------------------------------
这就是我所拥有的
param([string]$projectName = $(throw 'csproj file is required'))
$proj = Resolve-Path $projectName
$propAssemblyName = $proj.Properties.Item("AssemblyName")
$propAssemblyName.Value = '$(ReleasedAssemblyName)'
但我显然不知道如何使这项工作成为一堆问题。感谢
答案 0 :(得分:1)
function Set-Version {
Write-Header "Updating version in .csproj files"
try {
Push-Location ".\csprojLocation"
$versionProjFile = Resolve-Path "*.csproj"
$xml = [xml](Get-Content $versionProjFile)
$xml.Project.PropertyGroup.AssemblyVersion = ${version}
$xml.Save($versionPropsFile)
}
finally {
Pop-Location
}
}
Set-Version