Ich habe eine .NET 4 C # -Lösung in appharbor hochgeladen, aber wenn appharbor versucht, sie zu erstellen, erzeugt eine der c # -Klassenbibliotheken diesen Fehler:
Projekt "D: \ temp \ cbymsn2u.j0c \ Eingabe \ UI \ Tray \ Tray.csproj" baut "D: \ temp \ cbymsn2u.j0c \ input \ Geschäft \ Crawler \ Crawler.csproj" (GetNativeManifest-Ziel (e)): c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): warning MSB3084: Aufgabe versucht zu finde "AxImp.exe" an zwei Orten. 1) Unter dem "C: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ "prozessorspezifisches Verzeichnis welches basierend auf generiert wird SdkToolsPath 2) Der x86-spezifische Verzeichnis unter "C: \ Programm Dateien \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ ", die von der SDKToolsPath-Eigenschaft Sie können dazu in der Lage sein um das Problem zu lösen, indem Sie einen von Folgendes: 1) Stellen Sie die "SDKToolsPath" -Eigenschaft für die Speicherort des Microsoft Windows SDK. c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): Fehler MSB3086: Task konnte nicht gefunden werden "AxImp.exe" mit dem SdkToolsPath "C: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ "oder der Registrierungsschlüssel "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v7.0A ". Stellen Sie sicher, dass SdkToolsPath ist eingestellt und das Werkzeug existiert im richtigen Prozessor spezifischer Standort unter der SdkToolsPath und das der Microsoft Windows SDK ist installiert Fertig Bauprojekt "Tray.csproj" - FEHLGESCHLAGEN.
Es scheint keine unterschiedlichen Referenzen in Crawler.csproj zu geben, woher kommt dieser Fehler? Derselbe Code baut lokal gut auf.
Es sah aus, wo das Tool installiert werden soll, c: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ AxImp.exe ist der normale Speicherort. Sie können dies auf Ihrem eigenen Computer überprüfen. Ich weiß nicht genau, was AppHarbor macht, aber die Chancen stehen gut, dass sie dieses Tool absichtlich entfernt haben.
Es gibt wenig Hoffnung, AxImp.exe auf einem Remote-Build-Server auszuführen. Die ActiveX-Komponente wird nicht auf diesem Computer installiert. Sie müssen AxImp.exe auf Ihrer eigenen Arbeitsstation ausführen, es muss nur einmal ausgeführt werden. Fügen Sie die zwei Assemblys, die es generiert, zu Ihrem Projekt hinzu, interop.foo.dll und axinterop.foo.dll. Legen Sie die Eigenschaft Copy Local auf true fest.
Wenn Sie tatsächlich beabsichtigen, Ihre App auf diesem Remotecomputer auszuführen, stoppen Sie jetzt sofort, das ActiveX-Steuerelement wird nicht auf diesem Computer installiert. Es installiert zu bekommen sollte ein Wunder oder zwei nehmen.