Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
C# XmlFormatter Sgen
lunedì 12 novembre 2007 - 09.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
pa_squalo
Profilo
| Newbie
5
messaggi | Data Invio:
lun 12 nov 2007 - 09:39
467_MyQueue con DLL.zip
Sto sviluppando un progetto in c# con visualStudio2005 e XP Professional.
Il progetto è composto da due eseguibili che usano la MessageQueue come mezzo di comunicazione
per scambiarsi dati formattati con XmlFormatter. I tipi di dati scambiati sono definiti in una dll.
Voglio creare un assembly di serializzazione XML della dll per migliorare le prestazioni di avvio di un oggetto XmlSerializer quando serializza o deserializza.
Nelle proprietà della dll settando ON su Generate serialization assembly il compilatore scrive:
C:\Programmi\Microsoft Visual Studio 8\SDK\v2.0\bin\sgen.exe /assembly:"C:\MyQueue con DLL\DLL\obj\Debug\DLL.dll" /proxytypes /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /compiler:/delaysign-
DLL -> C:\MyQueue con DLL\DLL\bin\Debug\DLL.dll
ma non crea nessuna DLL.XmlSerializers.dll'. Allora ho settando OFF su Generate serialization assembly e lancio Sgen da linea di comando:
"C:\Programmi\Microsoft Visual Studio 8\SDK\v2.0\bin\sgen.exe" /assembly:"C:\MyQueue con DLL\DLL\bin\Debug\DLL.dll" /force
il compilatore scrive:
DLL -> C:\MyQueue con DLL\DLL\bin\Debug\DLL.dll
"C:\Programmi\Microsoft Visual Studio 8\SDK\v2.0\bin\sgen.exe" /assembly:"C:\MyQueue con DLL\DLL\bin\Debug\DLL.dll" /force
Microsoft (R) Xml Serialization support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
Serialization Assembly Name: DLL.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
Generated serialization assembly for assembly C:\MyQueue con DLL\DLL\bin\Debug\DLL.dll --> 'C:\MyQueue con DLL\DLL\bin\Debug\DLL.XmlSerializers.dll'.
Quindi crea DLL.XmlSerializers.dll ma in run time ho il seguente output:
'MyQueue.vshost.exe' (Managed): Loaded 'C:\MyQueue con DLL\MyQueue\bin\Debug\DLL.XmlSerializers.dll', No symbols loaded.
'Second.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', No symbols loaded.
Ora I mie dubbi sono:
1- come si settano i parametri del Sgen se eseguito in modo automatico;
2- perché anche se DLL.XmlSerializers.dll esiste non carica i simboli e quindi li crea in run-time rallentando il tutto.
Allego un semplice progetto di esempio.
Grazie
Pasquale
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !