L’attività non è riuscita a trovare “AxImp.exe”

Ho caricato una soluzione .NET 4 C # su appharbor, tuttavia quando appharbor prova a crearlo, una delle librerie di class c # genera questo errore:

Progetto “D: \ temp \ cbymsn2u.j0c \ input \ UI \ Tray \ Tray.csproj” sta creando “D: \ temp \ cbymsn2u.j0c \ input \ Business \ Crawler \ Crawler.csproj” (objective / i GetNativeManifest) : c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): avviso MSB3084: L’attività ha tentato di trovare “AxImp.exe” in due posizioni. 1) Sotto “C: \ Programmi \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \” directory specifica del processore che viene generata in base a SdkToolsPath 2) La directory specifica x86 in “C: \ Programmi \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Strumenti \ “che è specificato dalla proprietà SDKToolsPath. Potrebbe essere ansible risolvere il problema effettuando una delle seguenti operazioni: 1) Impostare la proprietà “SDKToolsPath” sul percorso di Microsoft Windows SDK. c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): errore MSB3086: imansible trovare “AxImp.exe” tramite SdkToolsPath “C: \ Programmi \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Strumenti \ “o la chiave di registro” HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDK \ Windows \ v7.0A “. Assicurarsi che SdkToolsPath sia impostato e che lo strumento esista nella posizione specifica del processore corretta in SdkToolsPath e che sia installato Microsoft Windows SDK Done progetto di costruzione “Tray.csproj” – FAILED.

Non sembrano esserci riferimenti diversi in Crawler.csproj, quindi da dove proviene questo errore? Lo stesso codice si sviluppa bene localmente.

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 si intende effettivamente eseguire l’app su quella macchina remota, fermarsi in questo momento, il controllo ActiveX non verrà installato su quella macchina. Ottenere installato dovrebbe prendere un miracolo o due.