1

XML-сериализатор в пространстве имен System.Xml.Serialization динамически генерирует классы XmlSerializationReader и XmlSerializationWriter, используя CodeDOM.Где хранит Xml Serializer свой динамически сгенерированный код?

Я хочу посмотреть эти классы в дизассемблере.

Где хранит серийный файл временного файла сборки, который имеет этот динамически сгенерированный код? Я пытался найти его в течение последних 30 минут в Reflector, но безрезультатно.

Все, что я собираю из Reflector, это то, что он хранит его в некотором временном каталоге. Я посмотрел C: \ temp, но там нет .dll. Я посмотрел C: \ tmp и там есть некоторые файлы PNG, которые кажутся похожими на не PNG, а некоторые двоичные файлы, созданные Windows для хранения временных данных.

Если вы знаете, скажите, пожалуйста.

ответ

0

Хорошо, эти два потока из дюжины или около того, относящихся к этой проблеме, которые я поднял, показывают ответ.

Эта нить говорит, что это папка C: \ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp

http://snavin.wordpress.com/2013/04/01/xmlserializer-is-running-does-not-have-sufficient-permission-to-access-the-temp-directory/

Но из трассировки стека, размещенных в оригинале вопрос по этой теме, похоже, что временная папка среды Windows, которая может быть обнаружена при вызове System.IO.Path.GetTempPath(), - это место, где хранится dll.

ASP.NET Access to the temp directory is denied

0

Существует простой способ: использовать sgen.exe для создания необходимой сборки самостоятельно.

На моей машине она выглядит следующим образом:

C:>"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sgen.exe" "C:\Projects\BIN\My.dll" 
Microsoft (R) Xml Serialization support utility 
[Microsoft (R) .NET Framework, Version 4.6.1055.0] 
Copyright (C) Microsoft Corporation. All rights reserved. 
Serialization Assembly Name: My.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 
Generated serialization assembly for assembly c:\projects\bin\My.dll --> 'c:\projects\bin\My.XmlSerializers.dll'. 
+0

вы имели в виду 'sgen'? 'ngen' для собственных изображений. –

+0

Да, это была опечатка. Исправлена. –

 Смежные вопросы

  • Нет связанных вопросов^_^