Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 使用MsBuild生成Visual Studio解决方案时出错_Visual Studio 2012_Visual Studio 2013_Sdk_Com_Msbuild - Fatal编程技术网

Visual studio 2012 使用MsBuild生成Visual Studio解决方案时出错

Visual studio 2012 使用MsBuild生成Visual Studio解决方案时出错,visual-studio-2012,visual-studio-2013,sdk,com,msbuild,Visual Studio 2012,Visual Studio 2013,Sdk,Com,Msbuild,我有一个VisualStudio2013解决方案(MySolution2013.sln),其中包含许多使用.NET4.5.1的C#项目 在VS2015中构建MySolution2013.sln时,一切都很好。 在命令提示符下运行以下命令时: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe MySolution2013.sln 对于包含对COM组件引用的C#project,我得到以下错误: C:\WINDOWS\Microso

我有一个VisualStudio2013解决方案(MySolution2013.sln),其中包含许多使用.NET4.5.1的C#项目

在VS2015中构建MySolution2013.sln时,一切都很好。

在命令提示符下运行以下命令时:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe MySolution2013.sln

对于包含对COM组件引用的C#project,我得到以下错误:

C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (2015):任务失败,因为找不到“AxImp.exe”,或者找不到正确的 未安装Microsoft Windows SDK。任务正在寻找 指定位置下的“bin”子目录中的“AxImp.exe” 在注册表项的InstallationFolder值中 HKEY\ U本地\计算机\软件\微软\微软 SDK\Windows\v8.0A\WinSDK-NetFx40Tools-x86。你也许能解决这个问题 通过执行以下操作之一可以解决此问题:1)安装Microsoft Windows SDK。2) 安装VisualStudio2010。3) 手动设置 以上注册表项的正确位置。4) 通过正确的 定位到任务的“刀具路径”参数中

有人知道这是什么吗?注册表部分中的Windows SDK v8.0A是visual Studio 2012的一部分。为什么我的VS2013解决方案需要部分VS2012?

您有两种选择:

  • 安装Microsoft Windows SDK
  • 将这些文件复制到您尝试构建的计算机上
  • 看看这些答案:


    我解决了安装问题

    在我的例子中,我试图在CIWindows 2012 R2服务器上使用MSBuild编译一个.csproj(CI代表持续集成),尽管最相关的web问题建议安装Windows SDK,但他们没有准确指出是哪一个

    因此,首先,我猜他们指的是Windows10SDK,它也是Windows2012服务器的正确版本。不幸的是,Windows10SDK没有包含丢失的AxImp.exeSDK文件。 所以,正如你所能想象的,我花了很长时间才发现Windows8.1SDK是解开这个谜团的关键


    同样,希望它能帮助其他人;-)

    提交到SVN后,我尝试在Windows 2012 server上与Jenkins一起构建VS2015解决方案文件时遇到了相同的问题。尝试复制AxImp.exe及相关二进制文件和设置,但失败。因此,我必须安装Windows8.1SDK,并通过Jenkins CI服务器成功构建。
    希望这对其他人有所帮助。

    因为您使用的MSBuild.exe版本不正确。请改用c:\ProgramFiles(x86)\msbuild\12.0\bin\msbuild.exe。或者,最好是Visual Studio命令提示符快捷方式,以便正确设置所有路径。MsBuild命令是TFS生成中生成步骤的一部分,不能更改。我的计算机上没有VS2012,但当使用路径C:\Program Files(x86)\MSBuild\14.0\Bin\MSBuild.exe时,生成会正常工作。不幸的是,这对我没有帮助。谢谢!我安装了“适用于Windows 8的Windows软件开发工具包(SDK)”,其中包含“.NET Framework 4.5 SDK”,似乎是与版本8.0A关联的SDK。现在构建工作正常了。我还是不明白为什么需要它。@Helan,我知道在这方面帮助你有点晚了,但是今天在这个问题上挣扎了几个小时之后,即使在阅读了上述建议之后,我还是决定发布一个答案,指出为什么除了Windows 10 SDK之外,Windows 8.1 SDK也是一些项目的一个要求。干杯请发布一个好的答案,然后投票/标记以重复结束其他问题。如果这个问题不是重复的,请根据您的回答量身定做。Julio Nobre的回答对我有所帮助,因为我还假设installin最新的SDK可以解决这个问题,但正如他所说,我似乎需要安装8.1(可能还需要将miising文件复制到“C:\Program files(x86))\Microsoft SDK\Windows\v7.0A\bin\NETFX 4.0工具”)就是这样做的。谢谢大家!