【问题标题】:"Al.exe could not be found" when build 4.0 projects in MSBuild with resource files使用资源文件在 MSBuild 中构建 4.0 项目时“找不到 Al.exe”
【发布时间】:2017-01-23 10:13:42
【问题描述】:

我有一个在 4.0 框架中开发的项目,它在使用 Visual Studio 运行时运行良好。但是当我在命令提示符下使用 MSBuild 执行相同的项目时,项目没有得到构建,显示错误“Al.exe is not found”

"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);

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

问候,

阿迈勒·拉杰

【问题讨论】:

  • 请显示完整的错误信息
  • @OfirW 错误 MSB3086:任务无法使用 SdkToolsPath "" 或注册表项 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools 找到 "AL.exe" -x86”。确保设置了 SdkToolsPath,并且该工具存在于 SdkToolsPath 下的正确处理器特定位置,并且安装了 Microsoft Windows SDK
  • 您安装了 Windows SDK 吗? microsoft.com/downloads/…
  • 我已经安装了所有 .net 框架版本,最高 4.6 。我找不到适用于 windows 7 和 4.0 的 windows sdk
  • 这是一个愚蠢的提示:我遇到了完全相同的问题,但使用的是 .NET 2.0 项目。我在 VS 设置中缺少单个组件“.NET Framework 3.5 开发工具”。安装它们修复了它。

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


【解决方案1】:

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

  1. 在 Visual Studio 中,将以下内容设置为 Diagnostic:Tools->Options->Projects and Solutions->Build and Run->“MSBuild project build output verbosity”。
  2. 构建项目,然后在“输出”窗口的“构建”窗格中搜索MSBuildToolsPath
  3. 从命令行构建时,使用该属性的值(例如 C:\Program Files (x86)\MSBuild\14.0\bin)作为 msbuild.exe 的路径。

编辑 既然我们知道您正在使用 VS 2017 RC,并且归功于 https://stackoverflow.com/a/40702534/704808,请在 %programfiles(x86)%\Microsoft Visual Studio\2017\ 下搜索 msbuild.exe

【讨论】:

  • 我用的是VS2017 RC
  • Tools->Options->Projects and Solutions->Build and Run->“MSBuild project build output verbosity”之后我应该做什么。在“输出”窗口的构建窗格中找不到 MSBuildToolsPath?
  • 单独安装VS2017的机器,msbuild下没有14.0文件夹。
  • 我知道:)。只需在我在答案底部的编辑中指定的路径下递归搜索 msbuild.exe。
猜你喜欢
  • 2014-02-17
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
相关资源
最近更新 更多