最近的项目里总是throw这样的“Could not find file 'C:/WINDOWS/TEMP/bwswopns.dll'.” exception message,发现都与 xml的Serializable有关,于是开始查找原因,发现我们经常使用的[Serializable] attribute会自动的产生 Serializable code 并保存在临时的dll里,知道了这一点还是无法解释,现在的error,为什么会掉了,没有产生临时的dll? 如果是为什么这个error只是偶尔发生呢?无奈之下,只好用其他方式,我们用Sgen.exe 预先编译好xml Serializable dll,提供给项目使用,然后再项目里移除掉不必要的xml Serializable code.
下面贴一段sgen的配置代码,这个代码需放在.csproj里
http://blog.devstone.com/aaron/2008/02/07/UsingSGENexeFromWithinVisualStudio.aspx
http://msdn.microsoft.com/en-us/library/bk3w6240(VS.80).aspx