【发布时间】:2016-11-17 09:14:16
【问题描述】:
我的问题很笼统。
我在 winsock2 上做了一个关于客户端-服务器应用程序的大型项目。
事实是:如果我在 Visual Studio 2015 中打开项目并从那里运行,我的应用程序可以完美运行,但如果我通过双击他的 .exe 文件打开服务器,我的客户端不会显示任何内容。
我不会发布代码,因为它就像 500 行一样,但我想问:当我从 .exe 运行程序时,我应该注意一些不同的事情吗?如果出现问题,我如何注意到?
附:我已经从 Visual Studio 进行了调试,当我从 .exe 启动它时它不会出现任何异常/错误(它根本不显示任何内容)。 服务器用 C++ 编写,客户端用 C# 编写。
更新:如果我从 bash 运行它,它就可以工作,我的意思是打开 cmd.exe。双击.exe还是不行。一切都好吗?我可以说我有一个工作程序吗?
【问题讨论】:
-
How can i notice if something goes wrong?- 使用 log4net 之类的东西来记录所有内容。在你的配置中有一个日志级别来决定输出什么。将日志级别设置为详细,运行程序,阅读日志。 -
什么都不显示,它应该做什么呢?无论如何,主要区别在于VS中的环境与全局环境不同。
-
工作目录不同,这意味着文件和目录的相对路径不同。您可能在 IDE 中设置了一些在双击可执行文件时未设置的环境变量或命令行参数。您需要确保正确处理此类错误,并且您有可用的默认值和备用值。另外,请先尝试从控制台窗口运行,以确保它在那里工作。从不同的目录运行。测试一下。并且有大量的日志记录。
-
@stijn 我会更具体地说,它是一个远程助手应用程序,我的客户端 c# 应该显示图标和服务器中正在运行的程序的名称。它在 vs 中完美运行,经过多次测试。
-
好吧,我解决了。这是一个迟缓的错误。我创建了一个 n.a. .bmp 文件,当服务器无法提取图标时发送。我不得不将此文件移动到 .exe 的同一目录中。无论如何感谢您的帮助
标签: c# c++ visual-studio-2015 executable