c# - 有没有办法在设计器中使用自定义控件并避免 GAC?

标签 c# winforms

我发现了一个很棒的图书馆here .它是在 Windows 窗体中完成的 AeroWizard,它可以优雅地处理 Aero Basic。很棒的是它应该有设计师的支持。当我尝试在 Form Designer 中打开示例中的任何 WizardPage 时,出现此错误:

找不到类型“Aero.Controls.MainInstructionsLabel”。请确保引用了包含此类型的程序集。如果此类型是您开发项目的一部分,请确保已使用当前平台或任何 CPU 的设置成功构建项目。

我的项目在 Aero.ControlsAero.Wizard 下引用了该库,所以我不太确定哪里出了问题。

我是否需要在 GAC 注册程序集才能获得设计师支持?

编辑: 我刚刚检查了反射器,这里是引用

气动控制
mscorlib
系统
系统.绘图
系统.Windows.窗体
user32.dll

航空 Sprite
mscorlib
系统
系统.绘图
系统.Windows.窗体
dwmapi.dll
gdi32.dll
user32.dll
uxtheme.dll

除了 native Dll 之外没有什么让我担心,但我不明白这些会如何阻止 Form 在设计器中呈现。

这是设计师的屏幕截图: alt text http://www.ceasetopanic.com/wp-content/uploads/2010/02/compile-error.jpg

最佳答案

只要使用它的项目引用了 DLL,Visual Studio 就可以毫无问题地找到该控件并加载它。您可能想尝试构建项目,然后关闭并重新打开 Visual Studio。程序集不需要在 GAC 中。

您也可以尝试在 Reflector 中打开程序集,看看它是否引用了您没有的其他程序集。如果 Aero.Controls 引用了另一个您未引用的程序集,并且 Visual Studio 在探测它时找不到它,您将看到此类错误,并且 GAC 对上述程序集进行处理不会解决该问题。

关于c# - 有没有办法在设计器中使用自定义控件并避免 GAC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264019/

相关文章:

c# - Telerik Radgrid : adding another footer row

c# - 将 IME 放在派生自 Control 的自定义文本框中

c# - winform 的动态代码编译在 C# 中给出错误

c# - 在表单加载时使用进度条

c# - 如何为 BULK INSERT 命令准备数据

c# - 访问当前系统时区

c# - 如何格式化整数变量,使其成为前导零字符串

c# - 是否仍然需要 cshtml 文件中 <!-- --> 注释中的 @Resources.STR?

c# - 图像 X 和 Y 分辨率不应该与 DPI 匹配吗?

c# - Call to Process 在 Debug 中运行良好,但在已安装的应用程序中不起作用