c# - 无法为此文件显示设计器,因为无法设计其中的任何类

标签 c# visual-studio-2010 windows-services

我们有以下共享组件:

public class OurServiceBase : System.ServiceProcess.ServiceBase

此类具有我们在所有下游服务中所需的功能,例如标准化的执行调度和日志记录功能。

在一个新项目中,我添加以下内容:

public class MyService : System.ServiceProcess.ServiceBase

在 Windows 设计器中,类正确显示。

当我将服务更改为从 OurServiceBase 派生时

public class MyService : OurSharedLibrary.OurServiceBase

设计师停止工作:

Error screenshot

完整的错误是: 无法为该文件显示设计器,因为无法设计其中的任何类。设计者检查了文件中的以下类: EmailProcessor --- 无法加载基类“OurSharedLibrary.CienaServiceBase”。确保已引用程序集并且已构建所有项目。

引用了正确的程序集,构建了项目。我不明白为什么设计师对此不以为然,因为我的服务最终确实派生自可设计的类。

欢迎提出任何建议。

更多信息 - 设计器在呈现有关无法设计派生服务的错误时的调用堆栈:

at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host) 

7/19/2011 2:34PM EDT 新发现。

“OurServiceBase”类存在于单独的项目中(通常仅作为 DLL 引用)。一时兴起,我将基类文件复制到我的项目中,构建并打开设计器。有效!当我再次移除基类文件并返回到外部 DLL 引用时,设计器再次崩溃。

最佳答案

你也可以尝试这样做:

  • 关闭所有UI设计页面
  • 清洁解决方案
  • 构建解决方案
  • 打开所需的 UI 设计页面

这可能有帮助也可能没有帮助,但它确实解决了我项目中的相同问题。

关于c# - 无法为此文件显示设计器,因为无法设计其中的任何类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683255/

相关文章:

c# - 运算符 && 的问题

c# - 您能否以编程方式与基于组件的服务 (TrustedInstaller) 交互?

visual-studio-2010 - 限制Visual Studio 2010调试第三方DLL文件

windows-services - 如何指示我的 Windows 服务不可暂停?

c# - 对 Windows 服务具有 WRITE 权限而对其他应用程序只有 READ 权限的文件夹

c# - 调用堆栈仅包含外部代码

c# - 如何将整个模型从我的索引 View 传递到一个完全不同的 Controller ?

c# - LINQ 中的动态新字段

c# - Visual Studio/Oracle 驱动程序帮助

visual-studio-2010 - 数据库项目 - “无法解析对来自名为 x 的源的外部元素的引用