2011-05-07 21 views
8

Ho caricato un NET 4 C# soluzione a AppHarbor, tuttavia quando AppHarbor cerca di costruirlo, una delle librerie di classi C# genera questo errore:Task non riusciva a trovare "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.

Ci don Sembra che ci siano riferimenti diversi in Crawler.csproj, quindi da dove proviene questo errore? Lo stesso codice si sviluppa bene localmente.

+0

Sei riuscito a risolvere questo, Justin? Sto avendo lo stesso problema. –

risposta

11

Sembrava dov'era installato lo strumento, c: \ Programmi \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Strumenti \ AxImp.exe è la posizione normale. Puoi verificarlo sul tuo computer. Non so esattamente cosa faccia AppHarbor ma le probabilità sono buone che abbiano rimosso intenzionalmente quello strumento.

C'è pochissima speranza di eseguire AxImp.exe su un server di compilazione remoto, il componente ActiveX non verrà installato su quella macchina. Avrai bisogno di eseguire AxImp.exe sulla tua stazione di lavoro, deve essere fatto solo una volta. Aggiungi i due assembly che genera al tuo progetto, interop.foo.dll e axinterop.foo.dll. Imposta la proprietà Copia locale su true.

Se in realtà si intende eseguire eseguire l'app su tale macchina remota, quindi interrompere in questo momento, il controllo ActiveX non verrà installato su quella macchina. Ottenere installato dovrebbe prendere un miracolo o due.

+0

grazie per la risposta, proverò a generare/aggiungere quei 2 assembly. Tuttavia sono confuso perché non penso di avere alcun componente Activex, il progetto che sta fallendo è un'app WPF (Tray.csproj) che sta cercando di compilare una libreria di classi (Crawler.csproj.) – Justin

+0

Non posso guarda il tuo progetto da qui. Il messaggio di errore ti suggerisce sicuramente di farlo. –

Problemi correlati