exec任务上的msbuild访问被拒绝,但只有4.0

时间:2012-11-22 01:08:29

标签: msbuild

我们有一个使用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。

我们已经四处寻找像疯了一样的私人权利和路径都无济于事。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

问题与64位与32位有关。而它“在我的机器上运行!”在其他服务器上就好了,在某些服务器上我们遇到了问题。所有的测试机都是64位,但有些有问题,有些没有。最后,修复很简单:

我们需要致电:

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ msbuild.exe

而不是打电话:

C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe

我们永远无法弄清楚究竟是什么原因,或者为什么它在某些服务器上运行而在其他服务器上运行。但这个简单的改变适用于所有这些,所以我们很高兴!

不确定这是否合适,但是在应有的地方给予信任......我们在Rackspace的幻想支持为我们找到了它!