123 votes

Ce qui est MyAssembly.XmlSerializers.dll généré pour ?

Je travaille sur un projet qui génère un assembly. Je viens de m’apercevoir qu’un assembly supplémentaire *. XmlSerializers.dll est généré. Pourquoi ce fichier est généré automatiquement et à quoi il sert ?

98voto

Grzenio Points 16802

Dans .NET mise en œuvre, le XmlSerializer génère un temporaire de l'assemblée pour la sérialisation/désérialisation de vos cours (pour des raisons de performances). Il peut être générée à la volée (mais ça prend du temps à chaque exécution), ou il peut être préfabriqués lors de la compilation et enregistré dans cette assemblée, vous vous interrogez.

Vous pouvez modifier ce comportement dans les options de projet (onglet Compiler -> Advanced Options de Compilation -> Générer la sérialisation des assemblées, Auto ou Sur, respectivement). L'élément correspondant dans le fichier de projet est GenerateSerializationAssemblies, par exemple, <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>.

54voto

jontsnz Points 542

POUR INFO. Les étapes exactes pour arrêter le XmlSerializers.dll d’être générés automatiquement sont :

  1. Dans VS, cliquez droit sur votre fichier de projet et sélectionnez « Propriétés »
  2. Cliquez sur l’onglet « Build »
  3. Changer le menu « Générer l’assembly de sérialisation » déroulant de « Auto » sur « Off »
  4. Reconstruction et il aura disparu

6voto

Alan Christensen Points 598

Je pense qu’il s’agit de la compilation JIT (Just in time) de serialisers XML pour des raisons de performances.

Vous obtenez la même chose avec RegEx instances à l’aide de l’option RegexOptions.Compiled est activée.

Je ne suis aucun CLR .NET expert, Désolé pour le manque de précision technique.

5voto

AB Kolan Points 3569

``sont générés à l’aide de la Sgen.exe [outil XML Serializer Generator]

Voir Sgen.exe sur MSDN

En général le est utilisé dans les événements de génération de Post des projets. Si votre projet contient un événement de génération de message qui génère la

4voto

Malcolm Points 621

Le projet génère uniquement le projet. XMLSerialisers.dll pour les applications web. Pour d’autres applications, vous devrez exécuter sgen séparément.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X