我有一个winform应用程序调用Web服务来检查更新.这在dev中工作,它也适用于我尝试过的其他任何地方,而不是在我的机器上安装的副本上(在开发中恰好相同).
错误是:
无法执行程序.正在执行的命令是"C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe"/ noconfig/fullpaths @"C:\ Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings\Temp\squ8oock .cmdline".
防火墙被禁用,我找了"C:\ Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings\Temp\squ8oock.cmdline",它不在那里.请注意,每次我尝试使用Web服务时,".cmdline"文件都不同,例如第二次运行它时,它是"dae8rgen.cmdline".无论它有什么名字,我都找不到文件.
有什么建议?
我遇到了同样的问题,并发现我的内存不足.
在检查Redhats"ANTS Memory Profiler"后,我发现我在GC根目录中有大量内存.一个快速的谷歌,我发现自己在这里:msdn XmlSerializers
然后我读了以下内容:
如果使用任何其他构造函数,则会生成同一程序集的多个版本,并且永远不会卸载,这会导致内存泄漏和性能下降.最简单的解决方案是使用前面提到的两个构造函数之一.否则,您必须将程序集缓存在Hashtable中...
在为序列化器创建哈希表之后,我的内存泄漏问题(以及性能不佳)以及由此产生的错误消息都消失了.