WPF编译时提示“...不包含适合于入口点的静态‘Main’方法 ...”

生成的时候一直报“...不包含适合于入口点的静态‘Main’方法 ...”

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

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

  用记事本打开项目文件(*.csproj),搜索App.xaml。可以发现项目文件对于App.xaml文件的不同的定义方式。区别如下:

  直接新建的WPF项目:

< ApplicationDefinition Include= "App.xaml">

      < Generator>MSBuild:Compile< /Generator>

      < SubType>Designer< /SubType>

    < /ApplicationDefinition>

类库转WPF项目:

     < Page Include= "App.xaml">

      < SubType>Designer< /SubType>

      < Generator>MSBuild:Compile< /Generator>

    < /Page>

  在直接新建的WPF项目里面,App.xaml在项目文件里面用ApplicationDefinition标签定义。而在后面的类库转WPF项目中,App.xaml在项目文件里面用Page标签定义,表示只是一个页面而已。

  因此,只需要在类库转WPF项目的项目文件中将App.xaml的配置改成ApplicationDefinition即可发现问题解决。

转载于:https://www.cnblogs.com/something/p/3355220.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值