我正在尝试更改XmlSerializer输出临时程序集的位置,以便我遵循此类教程
http://www.hanselman.com/blog/ChangingWhereXmlSerializerOutputsTemporaryAssemblies.aspx
但是当我添加
时<system.xml.serialization>
<xmlSerializer tempFilesLocation="c:\\foo"/>
</system.xml.serialization>
我得到tempFileLocation不是一个有效的属性。我正在使用.net 4.0
名称是否已更改?
答案 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>