我正在使用WAF-Framework构建MVVM应用程序。我有自己的App-Class(App.xaml和App.xaml.cs)。
每当我尝试编译我的应用程序时,我会收到3条不同的错误消息:
MyApplication.Presentation.App
已定义成员
InitializeComponent
具有相同类型的参数MyApplication.Presentation.App
已经定义了具有相同类型参数的成员Main
MyApplication.Presentation.App
已包含_contentLoaded
当我点击错误消息时,我会被重定向到名为 App.g.cs 的文件。如果我然后删除此文件中的所有内容,我的应用程序将构建并且everthings按照希望工作。但是在另一次更改之后文件又回来了,我将不得不再次删除它。
我检查了所有文件,但找不到这3个成员的另一个定义。我在任何地方都没有其他主要方法。我也尝试重命名我的应用程序,但这并没有解决问题。
有什么建议我可以做些什么来解决这个恼人的问题?
答案 0 :(得分:2)
我最近有一些非常相似的东西,事实证明,在导入现有代码文件时,我已经导入了obj
目录!
此目录包含,例如,自动生成(并自动导入)MainWindow.g.i.cs
文件。所以我有效地将相同的部分类定义包括两次,因此“已定义”错误。
从项目中排除此文件夹并重建解决方案可以解决错误。
答案 1 :(得分:0)
如果其他人有类似的问题 - 这是我的解决方案:
在我复制并粘贴我的一个视图(.xaml 和 .cs 文件)后出现问题。我更改了文件名,但不是类名,所以我有两个同名的类。 然后在代码中的其他更改之后我忘记了它。 这给出了与问题相同的错误。
所以就像在之前的答案中一样,编译器在自动生成 g.cs 和 g.i.cs 文件时给出了错误 - 因为已经使用了这个类名。一个类是部分的(就像 xaml 视图一样),所以重复的类名不是问题,但重复的构造函数和其他一切 - 是。