型別等效性和嵌入的互操作型別

2021-05-23 20:07:49 字數 615 閱讀 2513

從 .net framework 4 版開始,公共語言執行時支援將 com 型別的型別資訊直接嵌入到託管程式集中,而不是要求託管程式集從互操作程式集中獲取 com 型別的型別資訊。由於嵌入的型別資訊只包含託管程式集實際所使用的型別和成員,因此兩個託管程式集可能會具有相同 com 型別的截然不同的檢視。每個託管程式集使用不同的 type 物件來表示各自的 com 型別檢視。公共語言執行時支援這些不同檢視之間的型別等效性,這些型別包括介面、結構、列舉和委託。

型別等效性意味著,在兩個託管程式集之間傳遞的 com 物件在接收程式集中可以轉換為適當的託管型別。

說明

型別等效性和嵌入的互操作型別可簡化使用 com 元件的應用程式和外接程式的部署過程,這是因為不需要使用應用程式來部署互操作程式集。共享 com 元件的開發人員若想使其元件可供早期版本的 .net framework 使用,則他們仍然必須建立主互操作程式集 (pia)。

實際引用com元件時,會出現了無法嵌入互操作型別「……」,請改用適用的介面的錯誤提示

解決辦法:選中專案中引入的dll,滑鼠右鍵,選擇屬性,把「嵌入互操作型別」設定為false。

直銷軟體資料庫備份就用到interop.sqldmo.dll第三方元件

C 嵌入互操作型別

嵌入互操作型別 embed interop types 運用office程式設計呼叫excel 的pia時microsoft.office.interop.excel.dll時會產生如下問題 1.提示錯誤 未能載入檔案或程式集 microsoft.office.interop.excel.dll 2...

C 嵌入互操作型別

1.嵌入互操作型別 中的嵌入就是引進 匯入的意思,類似於c 中using,c中include的作用,目的是告訴編譯器是否要把互操作型別引入。2.互操作型別 實際是指一系列com元件的程式集,是公共執行庫中庫檔案,類似於編譯好的類,介面等。3.嵌入互操作型別 設定為true,實際上就是不引入互操作集 ...

嵌入互操作型別是什麼鬼

from 對於兩個結構相同且共享相同識別特徵 名稱 guid 等 的 com 互操作型別,執行時能夠聰明地將其看作同乙個 net 型別。c 編譯器利用這一點的方式是在編譯時直接在您自己的程式集中重現互操作型別,因此不再要求在執行時存在該互操作程式集。由於篇幅所限,我不得不省略一些詳細資訊,但即使不了...