我们有一个使用Process.Start运行msbuild的网页,我们为它提供了一个msbuild文件来处理。
msbuild脚本包含许多正常的msbuild任务,以及一个运行hg.exe的Exec任务。
当我们告诉Process.Start简单地运行“msbuild.exe”时,它工作正常。执行脚本,运行hg.exe,一切正常。
但是当我们告诉Process.Start运行“c:\ specific-path-to-4.0 \ msbuild.exe”时,它失败了。它确实尝试执行该脚本,它确实执行了一些任务,但它无法运行运行hg.exe的Exec任务。它给出了“拒绝访问”错误。
问题是,我们有一些需要4.0的任务,所以我们确实需要使用那个版本的msbuild。
我们已经四处寻找像疯了一样的私人权利和路径都无济于事。任何帮助将不胜感激。
答案 0 :(得分:2)
我们需要致电:
C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ msbuild.exe
而不是打电话:
C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe
我们永远无法弄清楚究竟是什么原因,或者为什么它在某些服务器上运行而在其他服务器上运行。但这个简单的改变适用于所有这些,所以我们很高兴!
不确定这是否合适,但是在应有的地方给予信任......我们在Rackspace的幻想支持为我们找到了它!