问题描述
我上传了.NET 4的C#解决appharbor,但是当appharbor尝试构建它,在C#类图书馆之一生成此错误:
I uploaded a .NET 4 C# solution to appharbor, however when appharbor tries to build it, one of the c# class libraries generates this error:
项目
D:\temp\cbymsn2u.j0c\input\UI\Tray\Tray.csproj
正在建设
D:\ temp\cbymsn2u.j0c\input\Business\Crawler\Crawler.csproj
(GetNativeManifest目标(S)):
C:\Windows\Microsoft.NET\Framework\\ \\v4.0.30319\Microsoft.Common.targets(1558,9):
警告MSB3084:任务尝试
在两个位置找到AxImp.exe。 1)
在C:\Program Files\Microsoft
SDKs\Windows\v7.0A\bin\NETFX 4.0
Tools\处理器特定目录$这是基于
SdkToolsPath 2)86具体
目录C下生成b $ A:\Program
Files\Microsoft
SDKs\Windows\v7。 0A\bin\NETFX 4.0
Tools\,这是由
SDKToolsPath属性指定。您可以
。通过执行$ B $的一架B下面要解决的问题:1)将
SDKToolsPath属性,以微软Windows SDK的
位置。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9):
错误MSB3086:任务找不到
AxImp.exe使用SdkToolsPath
C:\Program Files\Microsoft
SDKs\Windows\v7.0A\bin\NETFX 4.0
Tools\或注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft
SDKs\Windows\v7.0A。确保
SdkToolsPath设置和工具
在正确的处理器
下的
SdkToolsPath和微软
的Windows SDK安装完成的$ b存在的具体位置$ b栋工程Tray.csproj -
失败。
有似乎没有任何不同的参考在Crawler.csproj所以哪来此错误从何而来? 。相同的代码生成局部精细
There don't seem to be any different references in Crawler.csproj so where would this error come from? The same code builds fine locally.
推荐答案
它看起来该工具是应该被安装,C:\Program Files\\ \\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\AxImp.exe是正常的位置。您可以在自己的机器上验证这一点。我不知道到底是什么呢AppHarbor但赔率是好的,他们故意删除该工具。
It looked where the tool is supposed to be installed, c:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\AxImp.exe is the normal location. You can verify this on your own machine. I don't know exactly what AppHarbor does but the odds are good that they intentionally removed that tool.
还有就是在远程运行构建的AxImp.exe希望十分渺茫服务器,ActiveX组件是不会被该计算机上安装。你需要自己的工作站上运行AxImp.exe,它只有做一次。它生成的两个组件添加到您的项目,interop.foo.dll和axinterop.foo.dll。将其复制本地属性为true。
There's is very little hope of running AxImp.exe on a remote build server, the ActiveX component isn't going to be installed on that machine. You'll need to run AxImp.exe on your own workstation, it only has to be done once. Add the two assemblies it generates to your project, interop.foo.dll and axinterop.foo.dll. Set their Copy Local property to true.
如果你真的打算的运行您的远程计算机上的应用程序,然后马上停止,ActiveX控件不会是机器上安装。得到它安装应该采取一个或两个奇迹。
If you actually intend to run your app on that remote machine then stop right now, the ActiveX control isn't going to be installed on that machine. Getting it installed ought to take a miracle or two.
这篇关于任务找不到" AxImp.exe"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!