生成的時候一直報“...不包含適合於入口點的靜態‘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>
< 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即可發現問題解決。