更改XmlSerializer输出临时程序集的位置

cho*_*bo2 8 c# xml asp.net web-config

我试图改变XmlSerializer输出临时程序集的位置,所以我正在遵循这种教程

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

但是,当我添加

<system.xml.serialization> 
  <xmlSerializer tempFilesLocation="c:\\foo"/> 
</system.xml.serialization> 
Run Code Online (Sandbox Code Playgroud)

我得到tempFileLocation不是一个有效的属性.我正在使用.net 4.0

名称改变了什么?

Chr*_*lor 7

您使用的是什么版本的.NET Framework?这个未记录的功能仅在Framework 2.0的更新中引入,因此可能是您没有获得所有更新?

以下是有关更新http://support.microsoft.com/kb/934529的MS支持网站的链接

更新:我使用VS2010 Framework 4.0进行了测试.虽然IDE确实显示了followin警告,因为架构不包含此属性.

Warning 13  The 'tempFilesLocation' attribute is not allowed.
Run Code Online (Sandbox Code Playgroud)

我运行并编译了代码,它工作正常.这是我使用的配置文件.

<?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>
Run Code Online (Sandbox Code Playgroud)