WPF 不包含适合于入口点的静态“Main”方法

手动创建App.xaml作为启动项目时,编译时提示错误:

1>------ 已启动生成:  项目: WpfApplication11, 配置: Debug Any CPU ------
1>CSC : error CS5001: 程序“e:\RefCode\C#\.....\obj\Debug\WpfApplication11.exe”不包含适合于入口点的静态“Main”方法
========== 生成:  成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


    看到这个问题后的第一想法就是App.xaml.cs文件里面要写Main方法吗?貌似以前的WPF项目的App.xaml.cs文件里面没有Main方法啊。于是重新新建一个WPF项目,将App.xaml和App.xaml.cs文件与现有项目自己添加的对比了一下,基本关键元素都有。没办法只能去看项目配置中哪地方可以配置启动关联。


    查看了项目属性对话框中的所有标签页,貌似只有“应用程序”标签中的“启动对象”可能跟程序的启动用点关系。启动对象默认是“未设置”的。点了一下下拉框,没有发现任何下拉项。而打开前面新建的WPF项目确可以下拉看到App文件。因此猜测VS在项目文件内部对App文件作了特殊的处理。

对比一下项目配置文件:

直接新建的WPF项目:

<ApplicationDefinition Include="App.xaml">
   <Generator>MSBuild:Compile</Generator>
   <SubType>Designer</SubType>
</ApplicationDefinition>

自己添加的类库转WPF项目:

<Page Include="App.xaml">
   <Generator>MSBuild:Compile</Generator>
   <SubType>Designer</SubType>
</Page>


    在直接新建的WPF项目里面,App.xaml在项目文件里面用ApplicationDefinition标签定义。而在后面的类库转WPF项目中,App.xaml在项目文件里面用Page标签定义,表示只是一个页面而已。因此,只需要在类库转WPF项目的项目文件中将App.xaml的配置改成ApplicationDefinition即可发现问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郎涯技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值