不包含适用于入口点的静态“主”方法

我开始把我的代码整理到seperarate .cs文件中,并且为了允许与UI一起工作的方法继续这样做,我将在相同的命名空间和公共部分类名下创build.cs代码,以便方法可以可互操作。

我的标题看起来像这样在四个文件中,包括我的主要核心文件,调用:

public shell() { InitializeComponent(); } 

与UI一起工作的.cs文件的标题区域(似乎是导致这个新的冲突):

 using System; using System.Windows.Forms; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.IO; using System.Data.SqlServerCe; using System.Diagnostics; using System.Threading; using System.Collections.Specialized; using System.Net; using System.Runtime.InteropServices; using watin = WatiN.Core; using WatiN.Core.Native.InternetExplorer; using System.Web; namespace WindowsFormsApplication1 { public partial class shell : Form { 

现在,当我尝试debugging/预览我的应用程序(顺便说一句,这是一个Windows应用程序在Visual Studio 2010 Express中)我得到这个错误消息:

不包含适用于入口点的静态“主”方法

我查看了应用程序 – >启动对象中的应用程序属性,但它没有给我提供任何选项。 我如何通知应用程序开始于具有我的InitializeComponent()的.cs文件。 命令?

  • 我到目前为止环顾四周没有解决scheme。
  • 每个.cs文件的属性都设置为“编译”。
  • 我在我的解决scheme资源pipe理器中看不到一个App.xaml文件,但是我看到一个app.config文件。

我还是很新的,这是我第一次尝试用c#代码组织的方法。

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

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

将项目>属性下的输出types更改为“类库”的输出types。 默认情况下,此设置可能已被设置为“控制台应用程序”。

尝试添加此方法到一个类,看看你是否仍然得到错误:

 [STAThread] static void Main() { } 

如果您没有名为Program.cs的文件,只需添加一个新的类并将其命名为Program.cs

然后粘贴这个代码:

  using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace Sales { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } 

嘿,我有同样的错误,解决这个错误只是写资本M而不是小米..例如: – 静态无效的主要()我希望它可以帮助..

如果确实有一个Main方法,但仍然出现此错误,请确保包含Main方法的文件将“Build action”设置为“Compile”,将“Copy to ouput directory”设置为“Do not copy”。

看起来像试图使用启动窗体的Windows窗体项目,但出于某种原因,项目属性设置为启动为Main。

如果启用了应用程序框架,则可能无法看到Main处于活动状态(这是一个无效的configuration)。

  1. selectApp.xaml并显示其属性。 将生成操作设置为ApplicationDefinition
  2. App.xaml及其对应的* .cs文件必须放在* .csproj文件的根目录中,即不能放到“Source”文件夹中。

如果你确实有一个公共的静态主要方法,它可以是你的构build设置,如在这个问题中所解释的: 当程序显然没有…“程序不包含静态的”主要“方法”?

我也遇到了这个问题。 然后我意识到我正在select控制台应用程序(包)而不是控制台应用程序。

我正在使用Visual Studio,也有这个问题。 这花了我一些时间,但在我的程序中,它是由于我不小心删除了一个名为“Program”的类自动生成的。

对于将来面对Windows Forms应用程序相同问题的读者,一种解决scheme是将这些行添加到主/启动表单类中:

  [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MyMainForm()); } 

然后转到项目属性>应用程序>启动对象下拉菜单,应该看到namespace.MyMainForm,select它,清理并构build解决scheme。 它应该工作。

检查项目是否设置为“启动项目”

右键单击项目,然后从菜单中select“设置为启动项目”。

如果要允许从命令中指定参数,则它们必须如下所示:

  [STAThread] static void Main(params string[] paramaters) { 

你不能指定多个参数,否则这也会导致上面报告的错误。

简单解决scheme

1.BUILD – > CLEAN PROJECT-NAME(它会清除你以前没有完成的build立“类似于刷新”)

2.BUILD – > BUILD PROJECT-NAME。

那么你可以简单地启动你的脚本,它将工作。 请查收附件!!