2010-03-16 87 views
0

我有一個TypeConverter爲TopMostNode類。它擴展了ExpandableObjectConverter。 TopMostNode有兩個屬性。在屬性網格中設置這些結果會導致設計人員正確地序列化代碼。但是,如果我在文字的物業類型,我得到一個「屬性值無效」的錯誤和細節說:獲取TypeConverter錯誤,沒有意義

型「TopMostNode」的對象不能轉換爲類型「TopMostNode」。

我很困惑。當我通過類型轉換器ConvertFrom代碼時,它按預期運行。我甚至不知道要開始尋找這樣的問題。

回答

1

您可能會加載相同程序集的兩個不同版本。

+0

請參閱http://stackoverflow.com/questions/2450087/how-do-you-mark-class-with-typeconverter-that-is-not-in-referenced-solution – SLaks 2010-03-16 00:14:26

+0

我已檢查並且可擴展性項目正在引用我正在研究的組件。任何方式來判斷是否加載了多個? – 2010-03-16 00:32:11

+0

將VS的第二個副本附加到第一個副本,打破異常,然後檢查Type和Assembly對象的值和屬性。 – SLaks 2010-03-16 00:35:44

0

當開發.NET Framework 4.0客戶端配置文件的控件時,當所有設計時功能位於單獨的DLL中時,我遇到同樣的問題。當我將兩個項目(核心控件及其設計時間部分)作爲VS的一個解決方案加載時,問題就出現了。但是,當我試圖在其他項目中使用我的控件的編譯生產版本時,所有工作都正常。

結論如下:開始調試您的TypeConverter代碼之前,嘗試在控件開發項目之外使用您的控件的編譯版本。

P.S.爲了在開發時爲我的控件提供設計時功能,我將設計時部分DLL放入VS的PrivateAssemblies文件夾中。