Auflösen von FileNotFoundException
für XmlSerializer
durch Aktivieren der automatischen Baugruppengenerierung
Das Auftreten eines FileNotFoundException
bei der Verwendung von XmlSerializer
ist häufig auf eine fehlende Serialisierungsbaugruppe zurückzuführen. Das Framework kann dies zwar automatisch generieren, erfordert jedoch eine spezielle Konfiguration.
Aktivieren der automatischen Generierung von Serialisierungsbaugruppen
Die Projekteigenschaft „Serialisierungsassembly generieren“ von Visual Studio (auf „Ein“ gesetzt) ist ein entscheidender erster Schritt. Dies allein reicht jedoch möglicherweise nicht aus, da /proxytypes
während des Builds von sgen.exe
verwendet wird.
Proxy-Typ-Generierung deaktivieren
Microsofts MSBuild-Eigenschaft SGenUseProxyTypes
bietet eine Lösung. Wenn Sie dies auf false
festlegen, wird die Generierung von Proxy-Typen verhindert und die Erstellung von Serialisierungsassemblys auch für Nicht-Webservice-Typen ermöglicht.
Manuelles Bearbeiten der Projektdatei (.csproj)
Da Visual Studio keine direkte Schnittstelle für SGenUseProxyTypes
hat, ist eine manuelle Änderung Ihrer .csproj
-Datei erforderlich. Fügen Sie im relevanten <PropertyGroup>
für Ihre Build-Konfiguration Folgendes hinzu:
<code class="language-xml"><sgenuseproxytypes>false</sgenuseproxytypes></code>
Beispiel einer geänderten Projektdatei <PropertyGroup>
:
<code class="language-xml"><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup></code>
Durch Deaktivieren des /proxytypes
-Schalters auf diese Weise generiert das Projekt während des Builds korrekt die benötigte XmlSerializer
-Assembly, wodurch das FileNotFoundException
eliminiert und eine reibungslose Anwendungsausführung gewährleistet wird.
Das obige ist der detaillierte Inhalt vonWie löse ich FileNotFoundException für XmlSerializer auf, indem ich die automatische Generierung von Serialisierungsassemblys aktiviere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!