2017-02-17 7 views
3

Ich habe die neueste Version von Service Fabric SDK 2.4.164 heruntergeladen und versucht, einen neuen einfachen zustandslosen Dienst zu erstellen. Bauen Sie es gelungen, aber wenn ich es zu debuggen betreibe ich bekam:Service Fabric System.BadImageFormatException

Eine nicht behandelte Ausnahme des Typs ‚System.BadImageFormatException‘ in Unknown Module aufgetreten.

Zusätzliche Informationen: konnte nicht geladen werden Datei oder Assembly 'System.Fabric, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten. Ein Versuch wurde unternommen, ein Programm mit einem falschen Format zu laden.

Was ist das Problem? Bitte helfen Sie das zu lösen. Lassen Sie mich wissen, wenn ich weitere Informationen hinzufügen muss

+0

Sie sind x86 und die DLL ist x64, oder umgekehrt. – Will

+0

Danke, aber wie kann ich das beheben? Was ist das dls? –

Antwort

4

Azure Service Fabri unterstützt nur die x64-Plattform. Es scheint, dass Sie einige x86-Tools verwenden. Wenn Sie dotnet (CLI) Tools für x64 und x86 installiert haben, aktivieren Sie die Pfad-Umgebungsvariable. Der erste sollte Pfad zu den x64-Komponenten sein, es half mir, das gleiche Problem zu lösen enter image description here

+0

Ja, danke. Das hat mir geholfen. Ich habe viel Zeit damit verbracht, eine Lösung zu finden –

+0

Wie kommst du zu diesem Dialog? –

+0

@l --''''''--------- '' '' '' '' '' '' 'Welche Version von Windows verwenden Sie? – Marusyk

4

Alle Service Fabric-Assemblys sind nach x64 kompiliert. Stellen Sie sicher, dass Ihr Projekt auch auf x64 und nicht auf AnyCPU ausgerichtet ist.

Der beste Weg, dies zu tun, ist in Configuration Manager in Visual Studio zu gehen, erstellen x64 Build-Konfigurationen für jedes Projekt, und löschen Sie dann alle AnyCPU Build-Konfigurationen. So werden die Service Fabric-Projektvorlagen in Visual Studio eingerichtet. Wenn Sie jedoch ein Projekt mit einer anderen Vorlage erstellen, z. B. mit der Konsolenanwendung oder der Klassenbibliothek, wird es mit einer AnyCPU-Buildkonfiguration erstellt. Wenn Sie auf Service Fabric-Assemblys verweisen, müssen Sie dies in x64 ändern.

+0

Mein Targeting ist x64 und ich habe alle Konfigurationen überprüft. Kein Ergebnis –

+0

Vielleicht ist es strage, aber @megatrons antwort hilf mir. Danke dir auch –