【问题标题】:"Task failed because AXImp.exe was not found" when using MSBuild 12 to build a MVC 4.0 project使用 MSBuild 12 构建 MVC 4.0 项目时“任务失败,因为找不到 AXImp.exe”
【发布时间】:2014-02-17 20:59:07
【问题描述】:

我正在尝试使用 CruiseControl.Net 和 MSBuild 设置构建服务器。但是,它因错误而失败:

 "C:\Builds\PremiumStore\checkout\PremiumStore.sln" (default target) (1) ->
    "C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj" (default target) (37) ->
    (ResolveComReferences target) ->
    C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(2151,5):     
    error MSB3091: Task failed because "AxImp.exe" was not found, or the correct Microsoft  
    Windows SDK is not installed.
 The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-  NetFx40Tools-x86.`

 You may be able to solve the problem by doing one of the following:    

 1. Install the Microsoft Windows SDK.

 2. Install Visual Studio

 3. Manually set

    the above registry key to the correct location.  4) Pass the correct location into the 
    "ToolPath" parameter of the task. 
    [C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj]

同样的东西在我自己的机器上构建得很好,只是在服务器上不行。

我已尝试在整个 Internet 上搜索解决方案,但找不到。如果可能的话,我宁愿不必在构建服务器上安装 Visual Studio。安装整个 IDE 只是为了进行命令行构建有点矫枉过正。我已经在该服务器上安装了 Microsoft Build Tools 2013,但它似乎没有帮助。

我已尝试按照错误消息的建议将路径放入注册表,但这也不起作用。我还检查了注册表中指示的路径,并且 aximp.exe 确实存在,但在一个名为“NetFx 4.5.1 Tools”的子文件夹中。但是,将文件从这里复制到“bin”父文件夹似乎也无济于事。

如果有帮助,我的构建服务器可以在 Windows Server 2012 上运行。

提前致谢。

【问题讨论】:

标签: asp.net-mvc-4 visual-studio-2012 msbuild windows-server-2012


【解决方案1】:

他们推荐的第 1 步(“安装 Microsoft Windows SDK”)是正确的建议。安装Microsoft Windows SDK

【讨论】:

  • 我最终放弃并安装了它,它可以工作。只是觉得这有点矫枉过正。
  • 我已尝试安装 SDK,但 .NET 开发工具显示为灰色。这可能是由于未安装 .NET 4.0,而是安装了 .NET 4.5。我可以安装更新版本的 Microsoft SDK 来获取 .NET 4.0 aximp.exe 吗?
【解决方案2】:

我为此挣扎了很长时间。我一定已经安装了 16 种不同的东西并尝试了 20 种不同版本的注册表键答案 ("Task failed because AXImp.exe was not found" when using MSBuild 12 to build a MVC 4.0 project)。最后我发现我应该使用 15 的时候使用的是 buildtools v14。所以我没有使用C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe,而是使用了C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe,然后错误就消失了。

【讨论】:

  • 你拯救了我的一天,也拯救了我的头发:D 谢谢!
【解决方案3】:

我解决了安装Windows 8.1 SDK的问题

【讨论】:

    【解决方案4】:

    对于 Windows 10,我安装了“Microsoft Windows SDK”8.1,但这对我没有帮助。

    所以我在错误描述中加上了3)选项:手动设置注册表项。

    从 CMD 打开“regedit”命令并找到位置(如异常建议)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A
    文件夹“WinSDK-NetFx40Tools-x86”不存在,所以我创建了它并使用以下键:

    ComponentName:适用于 .NET Framework 4.0 的 Windows SDK 工具
    InstallationFolder:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\ bin\NETFX 4.0 工具\
    ProductVersion:8.0.50727

    P.S.:请确定,在“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\”中有 AxImp.exe

    通过相同的算法,您可以尝试另一个版本 - v8.1A。

    【讨论】:

      【解决方案5】:

      这仍然是我今天看到的一个问题,我发现当我尝试在 Visual Studio 中编译应用程序时,它编译正确,但是从 C:\Windows\Microsoft.NET\ 运行 MSBuild.exe Framework\v4.0.30319\MSBuild.exe 产生了这个错误。

      在安装 .NET 4.7.2 SDK 后仍然遇到同样的问题,我发现还有其他 MSBuild.exe 实例。

      我将我们的构建脚本改为使用 C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe,问题“神奇地”消失了。

      【讨论】:

        【解决方案6】:

        为了解决这个问题,我安装了windows sdk 10、8和7,并更改了注册表指向AxImp.exe所在的正确位置。但不幸的是,我仍然遇到同样的错误。

        我只是偶尔发现使用 MSBuild 14.0 而不是 4.0 (C:\Windows\Microsoft.NET\Framework\v4.0.30319) 可以成功构建我的项目。

        要使用MSBuild 14.0,需要在环境变量中配置路径。

        【讨论】:

          【解决方案7】:

          为了解决这个问题,我必须完成以下步骤。

          • 我必须安装 Windows SDK(在我的例子中是 7.1 版),但由于 this question 中处理的原因,它无法安装;
          • 然后我继续修改该问题的答案中详述的注册表项,但我收到“写入值的新内容时出错”。消息;
          • 我继续关注this guide(在 cmets 中也链接到上述问题的答案),以便修改注册表项;
          • 然后我能够安装 Windows SDK,然后手动创建要查找的注册表项,确保“InstallationFolder”值指向新创建的 SDK 文件夹(在我的例子中,“C:\Program文件\Microsoft SDKs\Windows\v7.1")。

          这让我克服了这个错误。

          【讨论】:

            【解决方案8】:

            我最终使用了以下 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\msbuild。

            我认为解决方案是在您的 Visual Studio 安装中查找 msbuild。 这显然只有在你安装了 Visual Studio 的情况下,如果你有一个干净的构建服务器,那就不好了。

            【讨论】:

              【解决方案9】:

              我也有同样的问题。就我而言,我卸载并重新安装了适用于 .NET 4.8 的 .NET Framework SDK 工具。 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A 丢失,重新安装后它在那里并且我的代码构建成功。

              【讨论】:

                【解决方案10】:

                当我有一个 C# Winforms 应用程序并且没有安装 VS 2017 的适当部分以允许创建此类项目时,这发生在我身上。因此,如果遇到此错误,请确保您可以创建一个相同类型的新项目,如果没有,请返回安装程序并选择正确的项目。

                【讨论】:

                  猜你喜欢
                  • 2013-06-21
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-11-09
                  • 1970-01-01
                  • 2019-06-18
                  • 2013-03-24
                  • 1970-01-01
                  相关资源
                  最近更新 更多