Maison > développement back-end > C++ > Pourquoi « Générer un assemblage de sérialisation » ne fonctionne-t-il pas toujours avec XmlSerializer et comment puis-je y remédier ?

Pourquoi « Générer un assemblage de sérialisation » ne fonctionne-t-il pas toujours avec XmlSerializer et comment puis-je y remédier ?

Linda Hamilton
Libérer: 2025-01-15 10:58:44
original
714 Les gens l'ont consulté

Why Doesn't

Générer automatiquement un assemblage de sérialisation XML

Question :

Lors de l'utilisation de XmlSerializer, une exception s'est produite en raison d'un assembly de sérialisation manquant. Pourquoi le paramètre Visual Studio « Générer un assembly sérialisé » ne résout-il pas ce problème et comment puis-je le résoudre ?

Réponse :

Le paramètre « Générer un assembly de sérialisation » seul n'est pas suffisant, car la tâche SGen ajoute le commutateur « /proxytypes » à la ligne de commande sgen.exe, empêchant la génération d'assemblys de sérialisation sans types de proxy.

Pour résoudre ce problème, Microsoft a introduit la propriété MSBuild « SGenUseProxyTypes » qui vous permet de désactiver le commutateur « /proxytypes ». Voici comment l'utiliser :

Étape 1 : Désactiver la génération de type de proxy

Avant d'importer Microsoft.Common.Targets ou C#/VB.targets, ajoutez les propriétés suivantes à votre fichier de projet :

<code class="language-xml"><sgenuseproxytypes>false</sgenuseproxytypes></code>
Copier après la connexion

Étape 2 : Activer la génération d'assemblys de sérialisation

Assurez-vous que le paramètre « Générer un assemblage sérialisé » est activé dans les propriétés du projet.

Configuration du fichier projet modifié :

<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>
Copier après la connexion

Après avoir effectué ces modifications, Visual Studio générera automatiquement l'assembly de sérialisation XML sans intervention manuelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal