使用资源文件在MSBuild中构建4.0项目时“无法找到Al.exe”

时间:2017-01-23 10:13:42

标签: c# .net c#-4.0 msbuild

我有一个在4.0框架中开发的项目,在使用visual studio运行时工作正常。但是当我在命令提示符下使用MSBuild执行相同的项目时,项目没有得到显示错误“Al.exe未找到”的构建

"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Msbuild.exe"

仅当项目包含资源文件并通过命令提示符使用msbuild构建时,才会出现上述问题。

msbuild命令使用以下代码

运行进程启动方法
ProcessStartInfo psi = new ProcessStartInfo();

psi.FileName = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe";

psi.Arguments = "D:\Samples\Localization\cs\LocalizationDemo_2010.csproj" /p:Configuration=Release /nologo /noconlog /fileLogger /fileloggerparameters:logfile="D:\Samples\Localization\cs\build.log";

Process p = Process.Start(psi);

如果您对此有任何想法,请有人帮助我。

此致

Amal Raj

1 个答案:

答案 0 :(得分:1)

确保MSBuild的命令行调用使用与您的Visual Studio版本相同的一组构建程序集。您没有指定您正在使用的Visual Studio版本,但无论如何这应该为您指明正确的方向:

  1. 在Visual Studio中,将以下内容设置为 Diagnostic :Tools-> Options-> Projects and Solutions-> Build and Run->" MSBuild项目构建输出详细程度&# 34。
  2. 构建项目,然后在“输出”窗口的“构建”窗格中搜索MSBuildToolsPath
  3. 使用该属性的值(例如C:\Program Files (x86)\MSBuild\14.0\bin)作为从命令行构建时msbuild.exe的路径。
  4. 修改 现在我们知道您正在使用VS 2017 RC,并且信用额度为https://stackoverflow.com/a/40702534/704808,请在msbuild.exe下搜索%programfiles(x86)%\Microsoft Visual Studio\2017\