Maison > développement back-end > C++ > Comment puis-je forcer Visual Studio à générer automatiquement des assemblys de sérialisation XML dans .NET ?

Comment puis-je forcer Visual Studio à générer automatiquement des assemblys de sérialisation XML dans .NET ?

Susan Sarandon
Libérer: 2025-01-15 09:26:44
original
441 Les gens l'ont consulté

How Can I Force Visual Studio to Automatically Generate XML Serialization Assemblies in .NET?

Automatisation de la génération d'assemblys de sérialisation XML dans .NET

.NET utilise des assemblys de sérialisation XML pour gérer la sérialisation et la désérialisation des objets. Bien que ces assemblys soient généralement générés automatiquement, vous pouvez rencontrer des erreurs FileNotFoundException lors de la lecture XML avec XmlSerializer s'ils sont manquants. La création manuelle de l'assembly à l'aide de sgen.exe fonctionne, mais il est préférable de l'automatiser dans Visual Studio.

Le défi :

Le paramètre « Générer un assemblage de sérialisation » de Visual Studio n'est pas toujours fiable. Il utilise le commutateur /proxytypes avec sgen.exe, empêchant la génération d'assembly si aucun type de proxy n'existe.

La solution :

Pour automatiser de manière fiable la génération d'assemblys de sérialisation, contournez le commutateur /proxytypes. Ceci est réalisé en ajoutant la propriété SGenUseProxyTypes MSBuild à votre fichier de projet et en la définissant sur false. Cela force la génération d'assemblys quelle que soit la présence du type de proxy.

Étapes de mise en œuvre :

Modifiez le fichier .csproj de votre projet (ou équivalent) et ajoutez ce qui suit dans les sections <PropertyGroup> pour vos configurations Debug et Release :

<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

N'oubliez pas d'ajuster la condition de la plateforme x86 si nécessaire pour qu'elle corresponde à la plateforme cible de votre projet (par exemple, AnyCPU). Après cette modification, Visual Studio générera automatiquement l'assembly de sérialisation XML, évitant ainsi les FileNotFoundException erreurs lors de la sérialisation et de la désérialisation.

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