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

时间:2010-07-21 18:58:07

标签: c# asp.net xml web-config

我正在尝试更改XmlSerializer输出临时程序集的位置,以便我遵循此类教程

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

但是当我添加

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

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

名称是否已更改?

1 个答案:

答案 0 :(得分:7)

您使用的是什么版本的.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>