2011-02-14 49 views
0

我有一個問題/一些基本的東西的問題。 我已經安裝了interoptoolkit v2.1,並且我正嘗試在vs 2008中使用C#創建此表單,因此可以從vb6應用程序訪問此表單。使用[interopformproperty]防止wrapper.cs文件生成

我想在此表單上添加一個公共屬性,所以我想我應該在屬性上添加這個 [interopformproperty]。

但是,當我這樣做,並嘗試使用工具菜單下的選項生成包裝,它不會生成包裝。

我明顯搜索谷歌一段時間,但我找不到特別有用的東西。所以如果你對此有所瞭解,請給我們一些幫助。

非常感謝。乾杯。

+0

是由物業標記有ComVisible特性暴露的類型? – 2011-02-14 12:58:31

+0

我不確定,但我不這麼認爲。使用該屬性只允許vb6加載c#表單。 – rlee923 2011-02-14 13:05:59

+0

噢,也許這是它有什麼區別? – rlee923 2011-02-14 13:08:47

回答

0

我總是最後回答我的問題:d 我只是做這個萬一有人就在這。

到這個鏈接並下載第二個選項。

C_Interop_Form.aspx「> http://www.codeproject.com/KB/dotnet/VB6_- ç _Interop_Form.aspx

假設你正在使用vs2008。獲取dll文件和添加文件。

,並複製該文件到我的文檔 - > Visual Studio 2008中>加載項

打開記事本的插件文件,更改版本號8.0 - > *

現在保存它。並重新加載vs2008。它應該用C#代替vb生成包裝文件。

P.S,閱讀後的評論總是幫助:d

0

如果com可見類型實現了interace,則所有公共方法的屬性都是com可見的,前提是類型在它們的簽名中使用com是可見的。如果com可見類型實現多個接口,則第一個(在類定義中)用作com接口。此行爲可以使用ComDefaultInterfaceAttibute進行更改。

如果未實現接口,則所有公共屬性(公開com公開可見類型)都會自動顯示。 regasm自動生成一個com接口,包含所有公共方法/特性。

「生成一個包裝」,你說...我不明白這一點。 編譯組件與COM後可見類型註冊使用regasm(如果在項目屬性中選擇「註冊爲COM互操作是不活躍)