版本相容問題概述

2021-04-01 17:31:45 字數 658 閱讀 3649

在vb中,第一次把部件工程生成可執行檔案(.exe、.dll 或者 .ocx)時,visual basic 自動把「版本相容」選項設為「工程相容」,並向已生成的可執行檔案中插入路徑。這可以保證從乙個開發任務轉向另乙個時,測試工程和部件仍能保持連線。

如果因為某些原因工程被設定為「不相容」,可以手工修改它為另兩種「版本相容」選項中的一種。「二進位制相容」是在開發已有部件的增強版時使用的選項,是要求最嚴格的一種方式。對於新的開發來說應該使用「工程相容」。

二進位制相容,指程式模組與呼叫的編譯環境,甚至作業系統沒有關係。在vb中,所謂的「二進位制相容」是指保持生成的com 物件的guid不變,它需要必須編譯一遍,以後設定為二進位制相容。所謂的「工程相容」就是只檢查修改後的com 物件在屬性/方法上面是否與前乙個版本一致。

編譯時的注意事項:

如果你的class已編譯為dll檔案,且被其他程式所直接引用則必須使用二進位制相容(如果不使用這種方式的話,當你的class重新編譯後,你的所有引用到該dll的程式均需要重新編譯)。使用該方式一定要注意:a、所選擇的與之二進位制相容的檔案一定是能夠滿足引用該dll檔案的程式正常使用的。b、不能改動原有class的公有介面,如公有屬性名、屬性型別、方法名、返回型別、引數及引數型別等(可新增屬性或方法),一旦對程式的改動造成與原編譯的dll檔案不能二進位制相容,則所有引用到該dll的程式均要重新編譯方能正常使用。

版本相容問題

想明白為什麼,切入點在 開發包是切入點,就譬如jdk,android開發包,所有的hibernate,spring,strusts等框架都是基於jdk,依賴jdk的基礎上去封裝搭建的。假如jdk公升級,高版本jdk需要考慮相容低版本jdk的寫法方法等,這樣子基於低版本jdk開發的系統和框架才能將jd...

unordered map版本相容問題

在c 中最讓我蛋疼的事情之一就是unordered map千呼萬喚才出來,在c 早期版本標準庫裡面只有map這個字典。但是map的內部實現是採用的紅黑樹,眾所周知,對於字典這類結構也可以用hash表來實現,也就是c 的標準庫應該也要有hash map這種資料結構。在c 中關於map的hash表方法的...

ORACLE版本相容問題

size medium imp匯入dmp時遇到錯誤 exp 00056 遇到 oracle 錯誤 6550 ora 06550 line 1,column 41 pls 00302 component set no outlines must be declared ora 06550 line 1...