使用powershell脚本更新项目属性

时间:2015-02-13 21:50:59

标签: powershell msbuild nuget csproj

我想创建一个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)'

但我显然不知道如何使这项工作成为一堆问题。感谢

1 个答案:

答案 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