【问题标题】:Waf Application already defines some members (initializecomponent, main, _contentLoaded)Waf 应用程序已经定义了一些成员(initializecomponent、main、_contentLoaded)
【发布时间】:2014-03-29 14:07:21
【问题描述】:

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

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

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

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

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

有什么建议可以解决这个烦人的问题吗?

【问题讨论】:

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


    【解决方案1】:

    我最近遇到了一些非常相似的事情,结果发现在导入现有代码文件时我已经导入了obj 目录本身!

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        相关资源
        最近更新 更多