程序不包含适合入口点的静态“main”方法
Posted
技术标签:
【中文标题】程序不包含适合入口点的静态“main”方法【英文标题】:Program does not contain a static 'main' method suitable for entry point 【发布时间】:2012-04-21 11:07:09 【问题描述】:我知道这个问题被问了很多,但似乎没有一个解决方案适合我。那或者我只是无能,需要帮助解决这个问题(最有可能的解决方案)。我查看了所有类,所有构建操作都设置为编译,所以我不知道可能出了什么问题。有什么帮助吗?
其他细节: 我一直在编写游戏开始的代码,一切都很顺利,直到出现此错误:
程序不包含适合入口点的静态“Main”方法
自从出现此错误后,此项目的所有进度都已停止,我无法找到任何方法来修复它。
【问题讨论】:
我相信,如果您通过“所有文件”进行搜索(在 sol 目录中,而不是通过 VS 或 w/完整路径),您会在构建的 sln 上找到一个临时文件,其中包含对您的应用程序或主窗口。无论如何,问题是你为什么需要它?那时我们可以说该怎么做。 (那个不可用,只是为了“看”) 我添加了相关信息希望它可以帮助你帮助我:P Program does not contain a static 'Main' method suitable for an entry point 的副本。是的,即使那个问题的答案都没有让你满意。 【参考方案1】:我开始在 WPF4/VS2010/MVVMLight 应用程序上收到此错误。所有的建议都没有结果,直到我提出创建一个新应用程序并比较项目和 XAML 文件的建议。这听起来像是在黑暗中绝望的刺伤,但我继续尝试。
在查看了其他几个文件后(感谢老天,BeyondCompare!),我发现我的 App.xaml 获得了一个额外的资源字典:
<Application.Resources>
<!--Global View Model Locator-->
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
<ResourceDictionary>
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
<ResourceDictionary.MergedDictionaries></ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
删除 ResourceDictionary 块解决了这个问题。我仍然不知道这是怎么发生的(开始时我没有编辑 app.xaml),并且不清楚为什么 VS 将其报告为“静态'主要'方法”错误。很奇怪。
【讨论】:
我在更新 nunit 包 MVVMLight 后遇到了这个问题。通过恢复 App.xaml 文件修复它【参考方案2】:刚刚遇到同样的问题,以下解决方案解决了我的问题: 如果您使用的是多层项目,右键单击项目抛出错误并转到属性转到应用程序选项卡并将输出类型设置为类库,然后问题将得到解决。
【讨论】:
这正是我所需要的。谢谢! 作为参考,Visual Studio '15 在此位置没有输出类型。【参考方案3】:遇到了同样的问题。解决方案: 确保 app.xaml 属性“构建操作”设置为 ApplicationDefinition
【讨论】:
【参考方案4】:在这里试试这个答案,它与你所拥有的很接近,而且提到的东西很少,
Program does not contain a static 'Main' method suitable for an entry point
简而言之,您的 WPF 设置、App.xaml 或 MainWindow 等或您如何构建项目等方面“不同步”。
(注意:主入口点应该是auto-generated
,这就是我在 cmets 中谈到的临时文件 - 如果一切正常,如果某些内容发生更改等,那么它不会生成并且会失败)
遍历所有并确保 - 或构建一个空的 WPF 项目,尝试使用它然后比较不同之处,最小化差异,缩小范围。
希望对你有帮助
【讨论】:
【参考方案5】:面临同样的问题。但就我而言,我必须创建一个WPFApplication
,但正在创建一个类库。在构建相同的内容时出现此错误。尝试创建 WPF 应用程序。希望对您有所帮助。
【讨论】:
以上是关于程序不包含适合入口点的静态“main”方法的主要内容,如果未能解决你的问题,请参考以下文章
不包含适合于入口点的静态“Main”方法/does not contain a static 'Main' method suitable for an entry point
在VS2008中编译时显示CS5001:不包含适合于入口点的静态“Main”方法 不知道是啥问题?代码如下
Docker .Net 6 错误程序不包含适用于入口点的静态“主要”方法
Docker 在 VS 中运行,但在发布到 AWS 时出错?错误 CS5001:程序不包含适用于入口点的静态“Main”方法