當我向項目添加COM引用VS顯示名稱和版本。顯示的版本是兩個術語(即,其格式爲X.X
)。Visual Studio在哪裏獲得COM DLL版本
但是,當我試圖讓版本號(通過FileVersionInfo
)我得到的格式X.X.X.X
和一些不相關總是在添加引用對話框中顯示的數字。
如何從DLL文件中提取此數字?
當我向項目添加COM引用VS顯示名稱和版本。顯示的版本是兩個術語(即,其格式爲X.X
)。Visual Studio在哪裏獲得COM DLL版本
但是,當我試圖讓版本號(通過FileVersionInfo
)我得到的格式X.X.X.X
和一些不相關總是在添加引用對話框中顯示的數字。
如何從DLL文件中提取此數字?
X.X版本號是類型庫版本號,編碼爲major.minor。它嵌入在類型庫,.tlb文件中或作爲資源嵌入到DLL中。您可以使用OleView.exe實用程序View + Typelib命令查看它。它也出現在Visual Studio找到它們的註冊表中,HKCR \ Typelib鍵。
X.X.X.X版本號是文件版本號,作爲可執行文件中的資源嵌入。它通常編碼major.minor.build.revision數字。不是一個要求,它可以是任何字符串。在.NET中,用[AssemblyFileVersion]屬性指定它。您可以使用Visual Studio的File + Open + File命令查看它,選擇DLL或EXE,然後雙擊Version.1資源(在Express中不可用)。
類型庫版本號表示COM服務器的公共接口的版本。它不會經常更改,因爲更改對客戶端代碼來說非常痛苦。文件版本號表示構建文件時的序列號。它經常變化。這些數字通常沒有任何共同之處。
謝謝。從代碼(C#)獲取此信息的任何提示? – MikeH
只有程序員對類型庫版本號感興趣。它只在您構建程序時有用。你已經知道如何得到它。 –