WPF意外删除了App.xaml

3
我不小心从项目解决方案中删除了 App.xaml 和 App.xaml.cs。现在当我尝试编译我的程序时,会出现以下错误:
错误1:程序'xxx\WpfApplication1\obj\Release\Pacman Reloaded.exe'不包含适用于入口点的静态'Main'方法, xxx\WpfApplication1\WpfApplication1\CSC WpfApplication1
我尝试从另一个 WPF 项目中复制并粘贴这些文件(已更改名称空间等),但它没有出现在我的解决方案浏览器中。
添加新类并将其名称更改为App.xaml也不起作用。
我该怎么做才能让我的应用程序正常工作?

3
我意外删除了... 下次请使用源代码控制。 - CodeCaster
git checkout -f - HackSlash
5个回答

6

App.xaml有一个名为app.xaml.cs的代码后台文件 - 您是否记得包含它?此外,app.xaml文件还应设置为Build Definition“ApplicationDefinition”(右键单击->属性)。最后,您可能还需要在项目属性中更新启动对象。

如果您将文件从另一个项目复制过来,请选择该项目并单击解决方案资源管理器中的“显示所有文件”图标,并包括丢失的文件(请参见下面的屏幕截图)。

屏幕截图


5

仅仅创建一个新类是不够的。你需要正确设置一对xaml和xaml.cs文件,使它们能够配合工作。创建一个名为App的新窗口,这样就可以得到这些文件了。然后修改它们,将窗口转换为应用程序:

App.xaml文件需要像这样:

<Application x:Class="WpfApplication3.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

当然,WpfApplication3必须替换为您自己的应用程序名称。
然后将App.xaml.cs更改为以下内容,同时更改WpfApplication3:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

namespace WpfApplication3
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
   {
   }
}

最后修改App.xaml文件的属性,使其Build Action读取ApplicationDefinition。
这样就可以了。

在我的Win10 UWP应用程序中,Build Action修复了我的问题。 - Gabriel Mongeon
你真是个救命恩人! - jDave1984

0

如果你只是通过Windows资源管理器复制另一个项目中的App.xaml和App.xaml.cs文件,那么你还需要通过在解决方案资源管理器中右键单击项目并选择添加现有项来将它们包含到你的项目中。


0

好的,我用另一种方式解决了它——我在Dropbox上分享了我的项目,在笔记本电脑和台式电脑上都有它,所以我在笔记本电脑上禁用了Internet连接,复制了旧版本的项目,在我的台式电脑上移动它,并将代码更改为我的新版本...但还是感谢您的帮助!


0

你可以在回收站中找到已删除的 App.xaml 文件。在那里搜索它,然后将其放在桌面上,接着在 Visual Studio 中右键单击你的项目/解决方案,悬停在“添加”上选择“现有项”,定位到 App.xaml 然后点击添加。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接