任务找不到“AxImp.exe”

时间:2011-05-07 18:52:48

标签: c# c#-4.0 appharbor

我向appharbor上传了一个.NET 4 C#解决方案,但是当appharbor尝试构建它时,其中一个c#类库会生成此错误:

  

项目   “d:\ TEMP \ cbymsn2u.j0c \输入\ UI \纸盘\ Tray.csproj”   正在建设中   “d:\ TEMP \ cbymsn2u.j0c \输入\企业\履带\ Crawler.csproj”   (GetNativeManifest目标):   C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(1558,9):   警告MSB3084:尝试任务   在两个位置找到“AxImp.exe”。 1)   在“C:\ Program Files \ Microsoft”下   SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0   工具\“处理器特定目录   这是基于生成的   SdkToolsPath 2)x86具体   “C:\ Program”下的目录   文件\微软   SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0   工具\“由...指定   SDKToolsPath属性。你可能会   通过做其中一个来解决问题   以下内容:1)设置   “SDKToolsPath”属性给了   Microsoft Windows SDK的位置。   C:\ WINDOWS \ Microsoft.NET \框架\ 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 \微软\微软   SDKs \ Windows \ v7.0A“。确保   设置了SdkToolsPath和工具   存在于正确的处理器中   具体位置下   SdkToolsPath和那个微软   Windows SDK已安装完成   建设项目“Tray.csproj” -   失败。

在Crawler.csproj中似乎没有任何不同的引用,那么这个错误会来自哪里?相同的代码在本地构建良好。

1 个答案:

答案 0 :(得分:11)

它看起来应该安装该工具的位置,c:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ AxImp.exe是正常位置。您可以在自己的计算机上验证这一点。我不知道AppHarbor究竟做了什么,但他们故意删除该工具的可能性很大。

在远程构建服务器上运行AxImp.exe的希望渺茫,ActiveX组件不会安装在该计算机上。您需要在自己的工作站上运行AxImp.exe,它只需要执行一次。将它生成的两个程序集添加到项目interop.foo.dll和axinterop.foo.dll中。将其Copy Local属性设置为true。

如果您确实打算在该远程计算机上运行您的应用程序然后立即停止,则不会在该计算机上安装ActiveX控件。安装它应该是一两个奇迹。