thblovehl 2024-05-16 11:37 采纳率: 100%
浏览 11
已结题

WPF桌面应用,自定义窗体基类无法被继承

WPF桌面应用,自定义窗体基类无法被继承
开发环境:VS 2022 Pro/vb/.net 8.0/WPF/Access
问题描述:
在添加绑定到Access数据库的数据集之前,新建的WPF窗口能够正常继承我自定义的窗体基类,编译、运行都没有问题;

添加数据集后,提示编译错误,内容为"错误 BC30002 未定义类型“……(我的自定义基类名)”。 位置是在子窗体的一个自动生成的部分文件中的类定义继承位置,文件扩展名为“*.g.vb”;

在我删除数据集后,程序又恢复了正常。

试过清理后重新生成,更改项目配置(Debug\Release)和平台(x86\x64\Any CPU)等操作,均无效。请各位朋友帮忙给看看,不胜感激。

  • 写回答

3条回答 默认 最新

  • thblovehl 2024-05-16 16:28
    关注

    产生此问题的原因已经找到了,是命名空间错误。
    在我的DataSet.Designer.vb文件中,命名空间是这样定义的:
    Namespace MyProject.MyDataSet
    ……
    End Namespace
    但是在对象浏览器窗口中看到的数据集命名空间却是:
    MyProject.MyProject.MyDataSet
    在我手动把DataSet.Designer.vb文件命名空间改为
    Namespace MyDataSet
    ……
    End Namespace
    后,程序正常编译运行了。
    现在的问题是DataSet.Designer.vb文件是自动生成的~直接修改的内容会丢失,我正在寻找设置命名空间的相关内容。

    在DataSet.xsd项目的“属性”中设置“自定义命名空间”可以解决问题。
    谢谢各位的帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 创建了问题 5月16日