用于在TFS 2015中构建我的项目设置文件\ msi我使用
devenv命令行任务:
solutionPath /build BuildConfiguration /project projectPath
我的问题是如何从这一行更改msi版本(如果可能的话),如... $(BuildVersion)
检查MSDN devenv命令行(没有。)
感谢
答案 0 :(得分:1)
假设您希望在构建期间更改ProductVersion
文件中的.vdproj
值。你是正确的,没有命令可以直接更改它。
您需要使用powershell或以编程方式更改版本。以下是this case中的代码段,您可以参考:
static void Main(string[] args)
{
string setupFileName = @"<Replace the path to vdproj file>";
StreamReader reader = File.OpenText(setupFileName);
string file = string.Empty;
try
{
Regex expression = new Regex(@"(?:\""ProductCode\"" =
\""8.){([\d\w-]+)}");
Regex expression1 = new Regex(@"(?:\""UpgradeCode\"" =
\""8.){([\d\w-]+)}");
file = reader.ReadToEnd();
file = expression.Replace(file, "\"ProductCode\" = \"8:{" +
Guid.NewGuid().ToString().ToUpper() + "}");
file = expression1.Replace(file, "\"UpgradeCode\" = \"8:{"
+ Guid.NewGuid().ToString().ToUpper() + "}");
}
finally
{
// Close the file otherwise the compile may not work
reader.Close();
}
TextWriter tw = new StreamWriter(setupFileName);
try
{
tw.Write(file);
}
finally
{
// close the stream
tw.Close();
}
}
或者您可以参考powershell脚本替换this case中AssemblyInfo.cs中的AssemblyVersion以更改ProductVersion
文件中的.vdproj
值。