检测到NonComVisibleBaseClass;我该如何解决?

时间:2009-06-26 15:25:05

标签: asp.net pdf-generation membership-provider idispatch membershipuser

我的类派生自System.Web.Security.MembershipUser 我在提交表单时收到此错误。弹出窗体使用ASPPDF,并且在实现自定义MembershipProvider好东西之前应用程序没有此问题。请注意,这只是一个调试错误。当我没有调试时它似乎工作。有谁知道我怎么解决这个问题?

检测到NonComVisibleBaseClass 消息:进行QueryInterface调用,请求COM可见托管类'XyAmpUser'的默认IDispatch接口。但是,由于此类没有显式的默认接口,并且派生自非COM可见类'System.Web.Security.MembershipUser',因此QueryInterface调用将失败。这样做是为了防止非COM可见基类受COM版本控制规则的约束。

谢谢, 〜在圣地亚哥

2 个答案:

答案 0 :(得分:2)

我最近在一个完全不相关的场景中发现了这个错误。

  1. 导航至Debug-> Exceptions ...
  2. 展开“托管调试助手”
  3. 取消选中NonComVisibleBaseClass Thrown选项。
  4. 点击[确定]
  5. Here is more information, which may help.

答案 1 :(得分:0)

这告诉你: 您的项目包含一些基于COM的对象,这些对象未使用公共用途的密钥进行签名。

这种情况有两种解决方案: 1-从调试器设置中取消选中NonVisibleCome选项 2-找到您的对象代码签名并重建它。