如何修复 WPF 错误:“程序不包含适合入口点的静态 'Main' 方法”?
Posted
技术标签:
【中文标题】如何修复 WPF 错误:“程序不包含适合入口点的静态 \'Main\' 方法”?【英文标题】:How to fix WPF error: "Program does not contain a static 'Main' method suitable for an entry point"?如何修复 WPF 错误:“程序不包含适合入口点的静态 'Main' 方法”? 【发布时间】:2010-10-09 07:17:08 【问题描述】:突然我的整个项目完全停止编译,显示以下消息:
程序“path_to_obj_project_folder”不包含静态“Main” 适合入口点的方法
我没有对项目属性进行任何更改,只是添加了一些类,将其他一些类移动到文件夹中。它是一个 WPF 应用程序项目,所以应该没问题。入口点是它应该在的地方,文件 App.xaml 根本没有被修改:(
我应该怎么做才能让它再次工作?
注意供参考:如果重命名App.xaml
,可能会发生这种情况。正如 OP 所说,App.xaml
没有改变;但是,这是为任何重命名 App.xaml
的人添加的。
【问题讨论】:
【参考方案1】:检查 App.xaml 的属性。 Build Action
还是 ApplicationDefinition
吗?
【讨论】:
谢谢,部分解决了问题。我已将旧项目中的所有文件复制到新的Windows Store App
项目中,并且 Build Action
设置为 Page
而不是 ApplicationDefinition
。我切换回ApplicationDefinition
,但我也不得不删除文件夹obj\Debug
。
+1:太棒了!真是救命稻草。我正要创建一个新项目并复制所有内容,但这成功了。我学到了什么:不要乱用 App.xaml...它会咬人。
我还不得不手动删除 obj\Debug; RebuildAll 没有修复它,不知道为什么......
VS 2017 UWP 应用程序中的相同问题。构建是针对Page
而不是ApplicationDefinition
当您排除并重新包含 App.xaml 文件时,Build Action
切换到 Page
【参考方案2】:
也许属性中的“输出类型”->项目的应用程序必须是“类库”而不是控制台或windows应用程序。
【讨论】:
使用 CLI 编译器时,类库 输出类型可以由-t:library
参数指定。【参考方案3】:
以防万一有人遇到同样的问题...我收到了这个错误,结果是我的 App.xaml 文件中的<Application.Resources>
。我在资源字典标签之外有一个资源,这导致了这个错误。
【讨论】:
我的变化略有不同。我有空的 Application.Resources 标签并删除了那些为我修复的标签。【参考方案4】:在我的例子中(在手动重命名应用程序命名空间之后)我必须在项目属性中重新选择 Startup 对象。
【讨论】:
【参考方案5】:如果您正在处理一个在 VS 2010(Beta 1)中启动然后移至 VS 2008 的 WPF 项目,您也可能会遇到这种情况。
在项目属性下,未设置 .NET 框架版本(因为 .NET 4.0 在 VS 2008 中无效),并且由于某种原因导致此错误。
如果您设置 .NET 框架(例如设置为 .NET 3.5),错误就会消失。
【讨论】:
【参考方案6】:以防万一有人仍然遇到同样的错误,即使有上述所有帮助:我遇到了这个问题,我尝试了这里给出的所有解决方案,我刚刚发现我的问题实际上是我的错误列表中的另一个错误(这是关于一个丢失的图像设置为我的启动画面。我只是将其路径更改为正确的路径,然后一切都开始工作)
【讨论】:
【参考方案7】:我遇到了同样的错误,但后来我发现我在 Main 方法中输入了小 m 而不是大写 M
【讨论】:
是的,忘记区分大小写了。谢谢! 而是看看,如果您的应用程序的“属性”已正确定义为默认启动项目/类。 ***.com/questions/9538404【参考方案8】:项目属性\输出文件->选择类库:)
【讨论】:
【参考方案9】:我猜 pixparker 想说什么,但仍然不够清楚,至少对我来说,请确保...所有“其他项目”都有一个” “类库”的“输出类型”被选中,而... 只有“一个项目”被选为“窗口应用程序”或“控制台应用程序”输出。
【讨论】:
【参考方案10】:在处理 WPF/UPF 应用程序时也可能出现此类错误,并且在您的项目的 .csproj 中使用了错误的 SDK,即 <Project Sdk="Microsoft.NET.Sdk">
而不是 <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
【讨论】:
【参考方案11】:我在将 .net framework v4.7.2 更改为 .net core 3.1 时遇到了问题, 并通过添加解决
<PropertyGroup>
<UseWPF>true</UseWPF>
</PropertyGroup>
在.csproj
【讨论】:
以上是关于如何修复 WPF 错误:“程序不包含适合入口点的静态 'Main' 方法”?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 WPF Datagrids 中的“双向绑定需要路径或 XPath”异常?