2008-09-15 58 views
1

我有一个调用web服务来检查更新的winform应用程序。这可以在dev中工作,它也可以在我尝试过的其他地方工作,只是不在我机器上安装的副本上(这在dev中恰好相同)。从Winform应用程序使用Web服务时出错 - “无法执行程序...”

错误是:

无法执行程序。正在执行的命令是“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”。不管它有什么名字,我都找不到这个文件。

有什么建议吗?

回答

2

“.cmdline”文件是由.NET框架生成的自动生成的文件。该应用程序正试图实时编译用于解析来自Web服务的数据的XML串行器。

您是否验证过可以从命令行窗口执行“csc.exe”?即使只是输入“C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.exe /?”应该给你一个编译器选项列表(如果你没有执行权限,应该给你一个错误)。

你在哪个用户帐户下运行它,它有权限执行Windows目录中的.exe文件吗?同样,我知道你说过这是在你的机器上安装的副本发生的,但它是否有可能执行网络共享并获得有限的代码访问安全权限,这将阻止它运行本地可执行文件?

作为参考,这里是一篇知识库文章,显示了当用户帐户权限不足时,ASP.NET中可能出现的类似错误。 http://support.microsoft.com/kb/315904

5

我有同样的问题,发现我跑出了各种记忆。

在检查Redhats“ANTS Memory Profiler”后,我发现我在GC根目录的COM +中有大量内存。快速谷歌,我发现自己在这里:msdn XmlSerializers

我再阅读以下内容:

如果您使用任何其他 构造函数,会生成 同一程序集的多个版本,永不 卸载,这导致内存泄漏和性能不佳。最简单的 解决方案是使用前面提到的两个构造函数 之一。 否则,您必须缓存 组件在一个Hashtable ...

开创了串行我的内存泄漏(和性能差)和像你所得到的错误消息的问题,走了一个哈希表后。

1

我解决了同样的问题与ISSReset

0

如果AppLocker的强制执行,请允许以下(添加为路径除外)

c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CSC.EXE c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CVTRES.EXE

相关问题