简单的C#控制台应用程序无法在其他PC上运行

问题描述

我是编程方面的新手,是1-2周前才开始学习的,编程之前我没有学过。我首先用C#语言编写了一个非常基本的控制台应用程序,然后将它用于Visual Studio程序。

该应用程序具有真正的基本功能,例如:在控制台中问一个数字,在线编写答案以及添加其他内容以更改控制台背景白色。

代码运行良好,调试没有发现任何问题,当我从Debug文件夹中单击exe文件时,它也运行良好,在出现问题之前停止,等等。最后代码中也有Console.ReadKey();。 (我不是在使用数据库查询数据或任何东西,而只是使用了简单的Console.WriteLine()Console.ReadLine()命令,实际上是基本的东西)。

所以即使我单击exe文件,甚至当我使用Visual Studio对其进行调试时,它也能很好地工作。

问题是,我想发给我的朋友,只是为了向他们展示我的第一个项目是什么。

目标是,如果他们单击exe,他们应该会看到与我编写的代码相同的白色背景控制台应用程序,并且可以回答其中的简单问题。但是,无论我发送了该程序如何,控制台仅显示一秒钟,背景为黑色,写出了一些东西,然后消失了(它是如此之快,我什至无法阅读它在窗口中写的内容)。

我的朋友们没有Visual Studio,但是他们有最新的.NET,并且防病毒程序也喜欢该代码(我的意思是,防病毒程序正在检查代码,但接受了运行)。我也试图压缩整个应用程序文件夹,无论我在Visual Studio的app文件夹中找到什么,但是结果是一样的,exe只是一个显示消失的控制台黑色控制台。

我应该将哪个文件夹或哪些文件发送给没有Visual Studio的朋友,以便能够使用我的控制台应用程序?我是否应该以某种方式在Visual Studio中导出项目(我没有找到任何选项)?完整代码a link

解决方法

我想您的问题是Windows资源管理器试图保护您的朋友免受恶意代码的侵害。每当您从网上下载内容时,资源管理器都会在文件的元数据中添加一个标记,表明该文件的执行被阻止。这甚至会通过zip存档继续进行,即,如果您下载了zip并使用Windows资源管理器解压缩,则其中的所有文件也会设置此标记。您可以通过进入文件属性进行检查,您应该在其中看到一个 Unblock 按钮,尤其是对于可执行文件。

这里有两种解决方案:

  1. 您可以取消阻止每个单独的可执行文件或dll(如果没有太多,则可以运行)
  2. 您可以重命名zip存档,并将扩展名更改为txt,并告诉您的朋友在下载后撤消此操作。