Heim > Backend-Entwicklung > C++ > Warum funktioniert „Serialisierungsassembly generieren' nicht immer mit XmlSerializer und wie kann ich das Problem beheben?

Warum funktioniert „Serialisierungsassembly generieren' nicht immer mit XmlSerializer und wie kann ich das Problem beheben?

Linda Hamilton
Freigeben: 2025-01-15 10:58:44
Original
718 Leute haben es durchsucht

Why Doesn't

XML-Serialisierungsassembly automatisch generieren

Frage:

Bei der Verwendung von XmlSerializer ist aufgrund einer fehlenden Serialisierungsassembly eine Ausnahme aufgetreten. Warum löst die Visual Studio-Einstellung „Serialisierte Assembly generieren“ dieses Problem nicht und wie kann ich es beheben?

Antwort:

Die Einstellung „Serialisierungsassembly generieren“ allein reicht nicht aus, da die SGen-Aufgabe den Schalter „/proxytypes“ zur Befehlszeile von sgen.exe hinzufügt, wodurch verhindert wird, dass Serialisierungsassemblys ohne Proxy-Typen generiert werden.

Um dieses Problem zu lösen, hat Microsoft die MSBuild-Eigenschaft „SGenUseProxyTypes“ eingeführt, mit der Sie den Schalter „/proxytypes“ deaktivieren können. So verwenden Sie es:

Schritt 1: Proxy-Typ-Generierung deaktivieren

Bevor Sie Microsoft.Common.Targets oder C#/VB.targets importieren, fügen Sie Ihrer Projektdatei die folgenden Eigenschaften hinzu:

<code class="language-xml"><sgenuseproxytypes>false</sgenuseproxytypes></code>
Nach dem Login kopieren

Schritt 2: Aktivieren Sie die Serialisierungsbaugruppengenerierung

Stellen Sie sicher, dass die Einstellung „Serialisierte Assembly generieren“ in den Projekteigenschaften aktiviert ist.

Geänderte Projektdateikonfiguration:

<code class="language-xml"><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies>
  <SGenUseProxyTypes>false</SGenUseProxyTypes>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
  <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies>
  <SGenUseProxyTypes>false</SGenUseProxyTypes>
</PropertyGroup></code>
Nach dem Login kopieren

Nachdem diese Änderungen vorgenommen wurden, generiert Visual Studio automatisch die XML-Serialisierungsassembly ohne manuellen Eingriff.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „Serialisierungsassembly generieren' nicht immer mit XmlSerializer und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage