疑难解答“程序不包含一个静态的”主要“方法”,当它明确…?

我的MS Visual C#程序编译并运行得很好。 我closures微软Visual C#去closures和做生活中的其他事情。

我重新打开它,并(在做其他事情之前)去“发布”我的程序,并得到以下错误信息:

程序C:\ myprogram.exe不包含适用于入口点的静态“Main”方法

咦? 是的,所有的工作都在15分钟前完成。 当然,我可以相信,在我closures之前,我不小心碰到了什么东西或者做了些什么,但是什么? 我如何解决这个问题?

我的Program.cs文件如下所示:

using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Threading; namespace SimpleAIMLEditor { static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new mainSAEForm()); } } } 

…那里有一些评论。 没有其他的错误。

帮帮我?

文件上的属性是否设置为编译?

奥克,我也在看这个问题。 而在我的情况下,解决scheme太简单了。 我添加了一个新的空项目的解决scheme。 新添加的项目自动设置为控制台应用程序。 但是因为添加的项目是一个“空”的项目,所以在新项目中没有Program.cs文件。 (如预期)

所有我需要做的是将项目属性的输出types更改为类库

如果您有WPF或Silverlight应用程序,请确保App.xaml在文件属性上具有“ApplicationDefinition”作为BuildAction。

我只是因为我的一个class library项目 was set acceddentaly为一个控制台应用程序而困扰这个错误

所以确保你的类库项目是输出types的类库

在这里输入图像说明

检查你的项目的属性。 在“应用程序”选项卡上,select您的Program类作为启动对象:

替代文字160wpb4.jpg

真奇怪 你的程序编译和运行是否成功,只有在“发布”上失败,或者现在每次编译都会失败?

另外,你有没有更改文件的属性“ Build Action不是Compile

我发现Program.cs文件不是解决scheme的一部分。 我做了一个添加现有项目并将该文件(Program.cs)添加回解决scheme。

这纠正了错误:错误1程序“…..”不包含适合于入口点的静态“主”方法

对我来说,同样的错误发生,因为我重命名程序类的命名空间
项目的“应用程序”选项卡中的“启动对象”字段仍引用旧的名称空间。 select新的启动对象解决了问题,并从列表中删除了过时的条目。
您可能还想在同一个“应用程序”选项卡中更新“默认命名空间”字段。

我的问题是,我不小心设置了Main的参数

static void Main( 对象值

感谢我的重构工具。 拿了几分钟找出来,但应该帮助一路上的人。

Main方法放在Visual Studio中正确configuration的类中作为启动对象,这一点很重要:

  • 在项目浏览器中右键单击您的项目; select“属性…”
  • 在属性对话框中,select“应用程序”选项卡
  • 在应用程序选项卡中,从启动对象的下拉列表中selectSimpleAIMLEditor.Program

现在再运行你的应用程序。 错误将会消失。