我编写了一个非常简单的C#控制台应用程序,它将打开Crystal报表,刷新它并将其作为PDF保存到指定位置。
在VS2005中运行时一切正常; pdf文件按预期生成。当我将.exe复制到我的根C:驱动器并从命令行运行它时,我得到一个对话框,说明“CrystalGenerator已停止工作” - 但仍然生成了pdf文件! 查找此对话框的可能原因表明发生了未处理的异常,但Main方法的所有内容都包含在try / catch中,因此这不是我的问题。
查看事件日志,我看到一些条目声明“无法找到插入索引(%1)的替换字符串”,但无法找到合理解释这意味着什么。
好处是,如果我将文件复制到运行Server 2003的盒子(它打算运行),那么命令运行没有错误 - 但我想知道为什么应用程序在Vista上行为不端以及如何解决它。 / p>
提前致谢。
答案 0 :(得分:1)
如果从提升的命令提示符运行应用程序(WinKey后跟按cmd,然后按Ctrl + Shift + Return),它是否有效?
您正在调用的进程之一可能需要提升。
答案 1 :(得分:1)
如果由于某种原因,您导致堆栈溢出,则无法捕获它,因为无法可靠地展开callstack。
在这种情况下,您的应用程序将表现得像您说的那样。
答案 2 :(得分:0)