Ich kann keine Standard "WCF Service Library" im x86-Format kompilieren

8

Wenn ich Microsoft Visual Studio starte, eine Standard "WCF Service Library" erstelle und sie kompiliere, funktioniert es perfekt.

Wenn ich jedoch in Properties gehe. Erstelle und setze das "Platform Target" auf "x86", es wird nicht kompiliert. Ich brauche "x86", weil ich einige DLLs referenzieren muss, die einfach nicht funktionieren, wenn ich "Alle Plattformen" wähle.

%Vor%     
Contango 20.09.2010, 21:43
quelle

2 Antworten

6

Ich habe zwei gute Methoden gefunden, um dies zu lösen:

  1. Durch die Installation der 64-Bit-Version von Matlab können Sie 64-Bit-DLLs kompilieren, die mit der 64-Bit-WCF-Servicebibliothek kompatibel sind. Dadurch muss nicht mehr im 32-Bit-Modus kompiliert werden, sodass beim Aufruf der 32-Bit-Assembly keine Ausnahmen ausgelöst werden. Diese Lösung funktioniert gut.
  2. Es gibt zwei Arten von Projekten, die Sie in MSVS 2010 generieren können: "WCF Service Library" und "WCF Service Application". Obwohl Sie nicht eine "WCF-Dienstbibliothek" im 32-Bit-Modus erstellen und ausführen können (sie unterstützt nur 64-Bit), können Sie eine "WCF-Dienstanwendung" im 32-Bit-Modus erstellen und ausführen.
Contango 14.06.2014, 08:37
quelle
12

Ihr Problem ist der WCF-Testclient, der sich beschwert, dass Ihre WCF-Servicebibliothek 32 Bit ist. Dies liegt daran, dass WCF Test Client standardmäßig immer im 64-Bit-Modus ausgeführt wird.

Anstatt zu einer WCF-Dienstanwendung zu wechseln, damit Sie debuggen können, habe ich die folgenden Schritte in diesem blog , wodurch der WCF-Testclient im 32-Bit-Modus ausgeführt wird. Daher wird der von Ihnen gepostete Fehler nicht angezeigt.

  1. Kopieren Sie WcfSvcHost.exe und WcfTestClient.exe von C: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE in ein lokales Verzeichnis. Bewahren Sie natürlich eine Sicherungskopie dieser Datei auf.
  2. Starten Sie eine Visual Studio 2010-Eingabeaufforderung (einen der Links im Startmenü - & gt; Visa Studio 2010)
  3. "cd" in das Verzeichnis, in dem sich Ihre Kopie von WcfSvcHost befindet.

  4. Führen Sie den Befehl "corflags / 32BIT + / FORCE WcfSvcHost.exe"

  5. aus
  6. Führen Sie den Befehl "corflags / 32BIT + / FORCE WcfTestClient"

  7. aus
  8. Kopieren Sie die Dateien dorthin, wo Sie sie gefunden haben.

Jetzt wird Ihr WcfSvcHost und WcfTestClient im 32-Bit-Modus laufen, und Sie können weg debuggen!

    
Stretch 16.03.2012 04:45
quelle

Tags und Links