Изменение места, где XmlSerializer выводит временные сборки - PullRequest
8 голосов
/ 21 июля 2010

Я пытаюсь изменить, где XmlSerializer выводит временные сборки, поэтому я следую инструкциям такого рода

http://www.hanselman.com/blog/ChangingWhereXmlSerializerOutputsTemporaryAssemblies.aspx

пока я добавляю

<system.xml.serialization> 
  <xmlSerializer tempFilesLocation="c:\\foo"/> 
</system.xml.serialization> 

Я получаю, что tempFileLocation не является допустимым атрибутом. Я использую .net 4.0

Имя изменилось или что-то?

1 Ответ

7 голосов
/ 21 июля 2010

Какую версию .NET Framework вы используете? Эта недокументированная функциональность была представлена ​​только в обновлении для Framework 2.0, поэтому может быть, что вы не получили все обновления?

Вот ссылка на сайт поддержки MS относительно обновления http://support.microsoft.com/kb/934529

Обновление : я проверил это с VS2010 Framework 4.0. Хотя в среде IDE отображается следующее предупреждение из-за того, что схема не содержит этот атрибут.

Warning 13  The 'tempFilesLocation' attribute is not allowed.

Я запустил и скомпилировал код, и он работал нормально. Вот файл конфигурации, который я использовал.

<?xml version="1.0"?>
<configuration>
  <system.diagnostics>
    <switches>
      <add name="XmlSerialization.Compilation" value="1" />
    </switches>
  </system.diagnostics>

  <system.xml.serialization>
    <xmlSerializer tempFilesLocation="c:\foo"/>
  </system.xml.serialization>
  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
...