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

有一个很棒的库我找到了 here.它是在Windows Forms中完成的AeroWizard,它优雅地处理Aero Basic.什么是令人敬畏的它应该有设计师的支持.当我尝试在窗体设计器中打开示例中的任何WizardPages时,出现此错误

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

我的项目在Aero.Controls和Aero.Wizard下引用了库,所以我不确定出了什么问题.

我是否需要GAC注册程序集以获得设计人员支持

编辑:
我刚用反射器检查过,这里有参考文献

Aero.Controls
mscorlib程序
系统
System.Drawing中
System.Windows.Forms的
user32.dll中

Aero.Wizard
mscorlib程序
系统
System.Drawing中
System.Windows.Forms的
dwmapi.dll文件
GDI32.DLL
user32.dll中
的uxtheme.dll

除了本机Dll之外什么都不关心我,但我看不出那些会阻止Form在Designer中呈现.

这是设计师的屏幕截图:
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上面提到的程序集也无法解决这个问题.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...