Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
142 views
in Technique[技术] by (71.8m points)

c# - Changing where XmlSerializer Outputs Temporary Assemblies

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...