2011-05-07 21 views
8

He subido un 4 .NET C# solución a appharbor, sin embargo, cuando appharbor trata de construirlo, una de las bibliotecas de clases de C# genera este error:de tareas no pudo encontrar "AxImp.exe"

Project "D:\temp\cbymsn2u.j0c\input\UI\Tray\Tray.csproj" is building "D:\temp\cbymsn2u.j0c\input\Business\Crawler\Crawler.csproj" (GetNativeManifest target(s)): c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9): warning MSB3084: Task attempted to find "AxImp.exe" in two locations. 1) Under the "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" processor specific directory which is generated based on SdkToolsPath 2) The x86 specific directory under "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" which is specified by the SDKToolsPath property. You may be able to solve the problem by doing one of the following: 1) Set the "SDKToolsPath" property to the location of the Microsoft Windows SDK. c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9): error MSB3086: Task could not find "AxImp.exe" using the SdkToolsPath "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed Done building project "Tray.csproj" -- FAILED.

Hay Don Parece que hay referencias diferentes en Crawler.csproj, entonces ¿de dónde vendría este error? El mismo código crea bien localmente.

+0

¿Has logrado resolver esto, Justin? Estoy teniendo el mismo problema. –

Respuesta

11

Se veía donde se supone que se debe instalar la herramienta, c: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ AxImp.exe es la ubicación normal. Puede verificar esto en su propia máquina. No sé exactamente qué hace AppHarbor, pero las probabilidades son buenas de que hayan eliminado intencionalmente esa herramienta.

Hay muy pocas posibilidades de ejecutar AxImp.exe en un servidor de compilación remoto, el componente ActiveX no se instalará en esa máquina. Necesitará ejecutar AxImp.exe en su propia estación de trabajo, solo debe hacerse una vez. Agregue los dos ensamblajes que genera a su proyecto, interop.foo.dll y axinterop.foo.dll. Establezca su propiedad Copy Local en verdadero.

Si realmente tiene la intención de ejecutar su aplicación en esa máquina remota y luego detenerse ahora, el control ActiveX no se va a instalar en esa máquina. Instalarlo debería llevar un milagro o dos.

+0

gracias por la respuesta, intentaré generar/agregar esos 2 conjuntos. Sin embargo, estoy confundido porque no creo que tenga ningún componente Activex, el proyecto que está fallando es una aplicación WPF (Tray.csproj) que está intentando compilar una biblioteca de clase (Crawler.csproj.) – Justin

+0

No puedo mira tu proyecto desde aquí. El mensaje de error ciertamente sugiere que lo haga. –

Cuestiones relacionadas