我想用msbuild运行一个项目。 msbuild文件包含对环境变量的引用。
有一个cmd文件可以设置这些环境变量。我之前需要从我的Cake脚本中调用它。
如果我在启动编译器之前使用StartProcess来调用此cmd文件,那么它将无效,因为Cake不会收集环境变量。
如何以正确的方式调用cmd文件?
批处理文件的内容:
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.2.3/fabric.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="cust_image" class="form-control" />
<canvas id="can" height="600" width="600"></canvas>
答案 0 :(得分:-1)
StartProcess Alias有一个重载,它接受一个ProcessSettings对象,它包含一个EnvironmentVariables属性,它只是一个字符串和字符串的通用字典。这允许您构造需要传递给要启动的进程的任何环境变量。一个例子如下:
StartProcess("cmd", new ProcessSettings{
Arguments = "/c set",
EnvironmentVariables = new Dictionary<string, string>{
{ "CI", "True" },
{ "TEMP", MakeAbsolute(Directory("./Temp")).FullPath }
}
});
同样的技术也可以用来直接调用MSBuild,而不是使用批处理文件,因为MSBuildSettings对象具有相同的属性。