如何修复 WPF 错误: “程序不包含适合入口点的静态‘ Main’方法”?

突然,我的整个项目完全停止了编译,显示出以下信息:

程序‘ path _ to _ obj _ project _ file’不包含静态‘ Main’ 适用于入口点的方法

我没有更改项目属性,只是添加了一些类,将其他一些类移动到文件夹中。它是一个 WPF 应用程序项目,所以应该都没问题。入口点在它应该在的位置,App.xaml 文件根本没有被修改: (

我该怎么做才能让它重新运作起来?

注意
参考 : 如果重命名 App.xaml,就会发生这种情况。如 OP 所述,App.xaml没有改变; 但是,这是为任何重命名 App.xaml的人添加的。

150239 次浏览

检查 App.xaml的属性。 Build Action还是 ApplicationDefinition吗?

如果您正在从事的 WPF 项目是在 VS2010(Beta 1)中启动的,然后迁移到 VS2008,那么您也可能遇到这种情况。

在项目属性下,将。NET 框架版本取消设置(因为。NET 4.0在 VS 2008中无效) ,并且由于某些原因导致了这个错误。

如果你设置.NET 框架(例如.NET 3.5) ,错误就会消失。

也许属性-> 项目的应用程序中的“输出类型”必须是“类库”,而不是控制台或 Windows 应用程序。

以防有人遇到同样的问题... ... 我得到了这个错误,结果它是我 App.xaml 文件中的 <Application.Resources>。我的资源字典标记之外有一个资源,这导致了这个错误。

在我的例子中(在手动重命名应用程序命名空间之后) ,我必须在 Project 属性中重新选择 Startup 对象。

以防有人仍然得到相同的错误,即使有上述所有的帮助: 我有这个问题,我尝试了所有的解决方案在这里,我刚刚发现,我的问题实际上是另一个错误从我的错误列表(这是关于一个缺失的图像设置为我的启动画面。我只是改变了它的路径到正确的一个,然后一切都开始工作)

我得到了同样的错误,但是我发现在 Main 方法中输入的是小 m 而不是大写的 M

项目属性输出文件-> 选择类库:)

作为什么,我想皮克斯帕克想说,但仍然不够清楚,至少对我来说,确保... 所有“其他项目”有一个 “输出类型”“班级图书馆”选择,而..。 只有“ One Project” 被选为 “窗口应用程序”控制台应用输出。

在处理 WPF/UPF 应用程序时,也可能出现这种错误,并且在您的项目的 。 csproj中使用了错误的 SDK,即 <Project Sdk="Microsoft.NET.Sdk">而不是 <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

我在将.net 框架 v4.7.2改为.net core 3.1时遇到了这个问题, 并通过加法解决

<PropertyGroup>
<UseWPF>true</UseWPF>
</PropertyGroup>

.csproj

当 App.xaml (左键单击) Properties/BuildAction 设置为 Page 时,我看到了这个错误消息。将其设置为 ApplicationDefinition 解决了这个问题

如何检查构建动作

根据肯特 · 布加特的回答,

  • 检查你的 App.xaml属性:
  • 确保 Build ActionApplicationDefinition

我怎么查?

请看下面我记录的吉普赛人:

See the giphy I recorded