I am trying to change where XmlSerializer Outputs Temporary Assemblies so I am following this sort of tutorial
http://www.hanselman.com/blog/ChangingWhereXmlSerializerOutputsTemporaryAssemblies.aspx
yet when I add
<system.xml.serialization> <xmlSerializer tempFilesLocation="c:\foo"/> </system.xml.serialization>
I get tempFileLocation is not a valid attribute. I am using .net 4.0
Has the name changed or something?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
What version of the .NET Framework are you using? This undocumented functionality was only introduced in an update for Framework 2.0, so it might be that you have not got all the updates?
Here is a link to the MS support site regarding the update
http://support.microsoft.com/kb/934529
Update: I tested this with VS2010 Framework 4.0. While the IDE does show the followin warning due to the schema not including this attribute.
Warning 13 The 'tempFilesLocation' attribute is not allowed.
I ran and compiled the code and it worked fine. Here is the config file I used.
<?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>
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0