簡體   English   中英

如果給定的程序集是正確的,CLR如何知道?

[英]How does the CLR know which if the given assembly is the correct one?

如果我們有一個使用.NET庫的.NET可執行文件,那么CLR如何確保您使用正確版本的dll? CLRwise什么被認為是“正確的dll版本”,從一開始?

它只看版本嗎? 看一下構建時間(?)。 也許它看起來像哈希什么的?

謝謝

您可以開始了解.NET版本控制,

http://msdn.microsoft.com/en-us/library/51ket42z(VS.71).aspx

它采用編譯期間使用的一個,由完全限定名稱標識 - 不僅包括程序集名稱,還包括完整版本信息和數字簽名指紋(如果有)。

其他答案已經涵蓋了它的本質。

基本上,框架檢查程序集的程序集名稱,版本和簽名以查找匹配項。
您可以從代碼(AssemblyVersion屬性)設置名稱和版本(以及更多內容!),您也可以在VS的幫助下輕松簽名。

簽名涉及創建.pfx文件(VS將為您生成一個),並檢查構建設置中的“簽名程序集”。 這將確保多個程序集可以使用相同的名稱和版本共存。
(因此,如果兩家公司意外地創建了兩個具有相同名稱的東西,您仍然可以一起使用它們。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM