Ich habe eine Client / Server-Wcf-Anwendung
Meine ausführbare Datei definiert keine ServiceContract
, sie enthält nicht einmal einen Verweis auf System.ServiceModel
( sondern einen Verweis auf eine Assembly, die die Verbindungslogik zum Server enthält ).
Ich habe eine andere Assembly, auf die meine EXE-Datei verweist, die a enthält ServiceContract
.
Früher hat es gut funktioniert. Gestern habe ich viel mit meinen Projekteinstellungen gespielt ( Teilvertrauen, Vollvertrauen, Bereitstellungseinstellungen usw. ) und jetzt habe ich jedes Mal, wenn ich meinen Client starte, das folgende Meldungsfeld:
Microsoft WCF-Diensthost
Die Zielassembly enthält keine Diensttypen.
Möglicherweise müssen Sie die Codezugriffs-Sicherheitsrichtlinie dieser Assembly anpassen.
Dann friert VS 1 Minute lang ein und lässt mich schließlich mein Programm wie gewohnt debuggen.
Ich habe einen Beitrag zu diesem Problem gefunden , aber die Lösung trifft in meiner Situation nicht zu. Irgendwelche Ideen?
quelle
Nur für den Fall, dass jemand anderes nach einer Antwort sucht, kann eine andere Ursache für diesen Fehler darin liegen, dass Sie zufällig eine
App.config
Datei in einem Projekt haben, das eine Klassenbibliothek mit einem<system.serviceModel>
Abschnitt ist.Ich habe Service-Code aus einem Projekt, das eine ausführbare Datei war, in ein anderes Projekt verschoben, aber versehentlich die alte
App.config
Datei verlassen. Mein neues Projekt, bei dem es sich um eine Konsolenanwendung handelte, die WCF programmgesteuert konfiguriert und gestartet hat. Da sich die alteApp.config
Datei jedoch in der Assembly befindet, auf die verwiesen wird, wird dieses kryptische Dialogfeld auch beim Debuggen der Konsolenanwendung angezeigt.Es dauerte ungefähr 12 Stunden, um diese zu finden, da ich nicht wusste, dass der VS-Debugger alle Assemblys, auf die verwiesen wird, auf App.config überprüft, für die WCF-Dienste konfiguriert sind.
quelle
Um ein Projekt mit diesem Problem zu ermitteln, suchen Sie die Zeichenfolge 3D9AD99F-2412-4246-B90B-4EAA41C64699 in Ihren Projektdateien.
Beispiel:
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Deaktivieren Sie dann die Projektoption "WCF-Optionen / WCF-Diensthost starten, wenn Sie ein anderes Projekt in derselben Lösung debuggen".
quelle
Einige Blogs sagen, dass dies möglicherweise passiert ist, weil das Projekt aus einem anderen Zweig kopiert wurde, wodurch GUIDs überschrieben werden. Löschen Sie sie einfach, wie in diesem Blog erläutert .
quelle
Dieser Fehler kann auch durch einen falschen Dienstnamen in Ihrer Konfigurationsdatei verursacht werden:
<system.serviceModel> <services> <service name="MyServiceLibrary.WrongServiceName"> ...
Überprüfen Sie Ihre Konfigurationsdatei und stellen Sie sicher, dass der Dienstname korrekt ist.
quelle
Alter Faden. Entfernen Sie einfach alle Befehlszeilenargumente aus dem Abschnitt Debug in den Optionen. Das hat mir geholfen.
quelle
Ich habe auch die gleiche Art von Problem durchlaufen und stundenlang gesucht, um diesen speziellen Fehler zu beseitigen. Endlich habe ich einen Ausweg gefunden.
Wenn Sie auf dieses spezielle Problem stoßen, versuchen Sie , Ihre Server- und Clientanwendung als Administrator auszuführen und die WPF-Eigenschaften des Projekts zu ändern .
Wenn Sie auf die WPF-Eigenschaften des Projekts klicken, finden Sie eine Erstellungsoption. In der Build-Option gibt es eine Option namens PLATFORM TARGET , mit der Sie das Plattformziel in x86 ändern können . Beachten Sie auch , dass im Falle von x84 , können Sie es setzen müssen x84 .
Führen Sie nun Ihr Projekt von der Konsole aus , dh gehen Sie zu dem Ordner, in dem Ihre Projekte gespeichert sind, und im Bin des Clients finden Sie ein Ordner- Debug, in dem Sie Ihre Konsolenanwendung erhalten . Sie sollten nun in der Lage sein, die Anwendung erfolgreich auszuführen.
quelle
Hinzufügen einer weiteren Lösung, da diese Nachricht mehrere Ursachen zu haben scheint. Durch Entfernen der folgenden GUID aus dem ProjectTypeGuids-Tag in der Projektdatei wurde das Problem behoben.
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699}</ProjectTypeGuids>
quelle