Waf应用程序已经定义了一些成员(initializecomponent,main,_contentLoaded)

时间:2014-03-29 14:07:21

标签: c# wpf waf-framework-c#

我正在使用WAF-Framework构建MVVM应用程序。我有自己的App-Class(App.xaml和App.xaml.cs)。

每当我尝试编译我的应用程序时,我会收到3条不同的错误消息:

  1. 类型MyApplication.Presentation.App已定义成员 InitializeComponent具有相同类型的参数
  2. 类型MyApplication.Presentation.App已经定义了具有相同类型参数的成员Main
  3. 类型MyApplication.Presentation.App已包含_contentLoaded
  4. 的定义

    当我点击错误消息时,我会被重定向到名为 App.g.cs 的文件。如果我然后删除此文件中的所有内容,我的应用程序将构建并且everthings按照希望工作。但是在另一次更改之后文件又回来了,我将不得不再次删除它。

    我检查了所有文件,但找不到这3个成员的另一个定义。我在任何地方都没有其他主要方法。我也尝试重命名我的应用程序,但这并没有解决问题。

    有什么建议我可以做些什么来解决这个恼人的问题?

2 个答案:

答案 0 :(得分:2)

我最近有一些非常相似的东西,事实证明,在导入现有代码文件时,我已经导入了obj目录! screen shot of visual studio

此目录包含,例如,自动生成(并自动导入)MainWindow.g.i.cs文件。所以我有效地将相同的部分类定义包括两次,因此“已定义”错误。

从项目中排除此文件夹并重建解决方案可以解决错误。

答案 1 :(得分:0)

如果其他人有类似的问题 - 这是我的解决方案:

在我复制并粘贴我的一个视图(.xaml 和 .cs 文件)后出现问题。我更改了文件名,但不是类名,所以我有两个同名的类。 然后在代码中的其他更改之后我忘记了它。 这给出了与问题相同的错误。

所以就像在之前的答案中一样,编译器在自动生成 g.cs 和 g.i.cs 文件时给出了错误 - 因为已经使用了这个类名。一个类是部分的(就像 xaml 视图一样),所以重复的类名不是问题,但重复的构造函数和其他一切 - 是。