问题
I have a project developed in 4.0 framework and it is working fine when running with visual studio. But when i execute the same project with MSBuild in command prompt , the project not getting build which shows error of "Al.exe is not found"
"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Msbuild.exe"
The above issue occurs only if the project contains resource files and build with msbuild through command prompt.
The msbuild command runs through process start methods using the below code,
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);
Please anyone help me if you have any ideas about this.
Regards,
Amal Raj
回答1:
Ensure that your command line invocation of MSBuild uses the same set of build assemblies that your version of Visual Studio uses. You did not specify what version of Visual Studio you are using, but in any case this should set you in the right direction:
- In Visual Studio, set the following to Diagnostic: Tools->Options->Projects and Solutions->Build and Run->"MSBuild project build output verbosity".
- Build the project and then search the Output window's Build pane for
MSBuildToolsPath. - Use that property's value (e.g.
C:\Program Files (x86)\MSBuild\14.0\bin) as the path tomsbuild.exewhen you build from the command line.
EDIT
Now that we know you are using VS 2017 RC, and with credit to https://stackoverflow.com/a/40702534/704808, search for msbuild.exe under %programfiles(x86)%\Microsoft Visual Studio\2017\.
来源:https://stackoverflow.com/questions/41803829/al-exe-could-not-be-found-when-build-4-0-projects-in-msbuild-with-resource-fil