2010-02-15 40 views
7

有一個偉大的圖書館,我發現here。它是在Windows Forms中完成的AeroWizard,它優雅地處理Aero Basic。真棒是它應該有設計師的支持。當我試圖在窗體設計的樣品中打開任何WizardPages的,我得到這個錯誤:有沒有辦法在設計器中使用自定義控件並避免使用GAC?

Could not find type 'Aero.Controls.MainInstructionsLabel'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

圖書館是我Aero.ControlsAero.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沒有涉及我,但我不看不到這些會如何阻止表單在設計器中呈現。

下面是來自設計師的屏幕截圖: alt text http://www.ceasetopanic.com/wp-content/uploads/2010/02/compile-error.jpg

回答

3

只要使用它的項目引用了DLL,Visual Studio應該沒有問題找到控件並加載它。您可能想要嘗試構建項目,然後關閉並重新打開Visual Studio。該組件不需要在GAC中。

您也可以嘗試在Reflector中打開程序集以查看它是否引用了您沒有的其他程序集。如果Aero.Controls引用另一個未引用的程序集,並且Visual Studio在探測時無法找到它,則會看到這種錯誤,並且對上面提到的程序集進行GAC處理並不能解決此問題。

+1

這聽起來像是另一個引用程序集未找到的問題。 – kyoryu 2010-02-15 04:31:14

+0

原來程序集已簽名,我的lib文件夾中缺少「snk」文件,我從源文件複製過來,現在設計器可以加載jsut。 – Chris 2010-02-15 06:25:22

1

的Visual Studio需要能夠找到他們。通常這意味着GAC,但是您可以使用我使用here on my blog欺騙應用程序來尋找別處。我用它來愚弄Outlook在寫插件時找到我們的dll。就我個人而言,我認爲GAC在維護方面可能不會很頭疼。

相關問題