我有一个 winform 应用程序,它调用网络服务来检查更新。这在开发中有效,并且在我尝试过的其他地方也有效,只是不适用于我机器上安装的副本(在开发中恰好是相同的)。

错误是:

无法执行程序。正在执行的命令是“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe”/noconfig /fullpaths @“C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock .cmdline”。

防火墙已禁用,我查找了“C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock.cmdline”,但它不在那里。请注意,每当我尝试使用Web服务时,“ .cmdline”文件有所不同,例如我第二次运行它是“ dae8rgen.cmdline”。无论它有什么名字,我都找不到该文件。

有什么建议么?

有帮助吗?

解决方案

“.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

其他提示

我遇到了同样的问题,发现我的内存不足了。

检查 Redhats“ANTS Memory Profiler”后,我发现 GC 根的 COM+ 中有大量内存。快速谷歌一下,我发现自己在这里: msdn Xml序列化器

然后我读了以下内容:

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

为序列化器创建哈希表后,我的内存泄漏问题(和性能不佳)以及像您一样产生的错误消息就消失了。

我使用 ISSReset 解决了同样的问题

如果强制执行 AppLocker,请在下面允许(添加为路径例外)

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top