我在 C# winforms 中创建了一个小程序,当我在 Visual Studio 2017 中启动它时运行良好。但是当我构建解决方案并双击 .exe 时,没有任何反应,没有屏幕出现,甚至任务管理器也看不到它。没有错误。好像什么都没做!我唯一的猜测是我构建错误,因为我使用 Nuget 在 te 解决方案中安装 newtonsofts JSON.NET,我需要做任何不同的事情还是应该只构建解决方案?[解决了]今天学习了bin文件夹和obj文件夹的区别,感谢大家的帮助
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
根据您的评论:
它在项目的 obj/debug 文件夹中
听起来您运行的是错误的 .exe。该obj文件夹用于临时/杂项。生成过程中的文件(请参阅生成的 obj 文件夹是什么?)。
相反,bin\Debug如果“调试”是您正在构建的配置,则您希望在 内运行 exe 。你可以在VS的顶部看到哪个配置。

就像其他人也提到的,确保 Newtonsoft.Json.dll 也被复制到该输出目录。一般来说,程序及其依赖项需要在一起。否则,您的 exe 将不知道在哪里可以找到它运行所需的 JSON 代码。
99% 的情况下,您应该假装obj目录根本不存在。
如果这仍然没有为您指明正确的方向,请从命令窗口运行该应用程序。任何异常都应该打印到它,并且窗口将保持打开状态供您检查(这样做的好处是不需要任何额外的日志记录或异常处理代码来查看此错误)。
例如,我编写了一个糟糕的应用程序,该应用程序NullReferenceException在Test从Main. 如您所见,即使我的应用程序崩溃了,堆栈跟踪也很容易看到(归功于 ColinM 最初提出这一点)。

拉莫斯之舞
TA贡献1820条经验 获得超10个赞
我相信启动模块有问题。请按照以下步骤操作
在 Visual Studio 中打开您的解决方案
双击属性

选择输出类型到 Windows 应用程序
确保设置启动对象如下

- 3 回答
- 0 关注
- 357 浏览
添加回答
举报
0/150
提交
取消
