【发布时间】:2012-07-18 15:46:58
【问题描述】:
我在本地开发机器上开发了一个小型 C# 控制台应用程序 (TextMatcher.exe),现在需要将其部署到实时环境。它引用了我开发的另一个类库,它具有通用功能,我打算在未来的控制台应用程序中使用和改进。
最终,这个特定的应用程序将从 SSIS 包中执行,但现在我只是尝试从 cmd 运行它。
我没骗你这是程序的实际输出:
E:/TextMatcher>TextMatcher.exe
No
E:/TextMatcher>
computer literally says "No" 并没有提供更多信息。在程序的任何地方,我都没有包含在任何失败或其他情况下输出“否”这个词。
当然,它在本地运行良好。我确保我也包含了实用程序类库的 dll。我已阅读有关如何正确部署控制台应用程序的其他问题(here、here),并已遵循建议。
注意:这对 Google 来说也很困难,因为使用“否”这个词是问题的根本......
编辑 - 现在似乎可以工作了......我只是将文件从本地机器复制到远程机器......我试图让它再次中断,以便我可以弄清楚地球上发生了什么,在我弄清楚之前,我不会接受答案,以便人们可能会对此有所了解。无论哪种方式都令人困惑。
【问题讨论】:
-
请附上你的一些代码,我很想看到这个。
-
»No« 不是来自系统或框架中任何内容的标准消息(除非您有嵌入式 Prolog,但它会是 »No.«)。所以你也许应该看看程序的代码在什么情况下打印»No«。
-
在输出或错误上一定写了 No 这个词。找出您可以将它们重定向到您自己的 TextWriter 类的位置,并在它尝试写出 No. 时写出堆栈跟踪。
-
代码没什么特别的!我不能包含太多,因为它在受限网络上。但即使我将
writeline作为第一个可执行行,它仍然无法到达它 -
@a12jun - 你在远程机器上运行它,是吗? (
it runs fine locally) 可能“否”是一些安全限制到位的结果。比如无法从命令行运行随机程序,正如 Servy 所暗示的那样。
标签: c# .net dll console-application executable