Madifest是個(gè)XML的描述文件,對(duì)于每個(gè)DLL有DLL的Manifest文件,對(duì)于每個(gè)應(yīng)用程序Application也有自己的Manifest。對(duì)于應(yīng)用程序而言,Manifest可以是一個(gè)和exe文件同一目錄下的.manifest文件,也可以是作為一個(gè)資源嵌入在exe文件內(nèi)部的(Embed Manifest)。

XP以前版本的windows,會(huì)像以前那樣執(zhí)行這個(gè)exe文件,尋找相應(yīng)的dll,沒有分別Manifest只是個(gè)多余的文件或資源,dll文件會(huì)直接到system32的目錄下查找,并且調(diào)用。這樣,如果公共DLL升級(jí),將會(huì)導(dǎo)致之前安裝的應(yīng)用程序不能使用,這就是“DLL Hell”的來源。為了解決這個(gè)問題,.NET開發(fā)提出了side-by-by的開發(fā)方法,來避免這個(gè)問題。主要方法,就是通過Manifest文件來查找相應(yīng)的DLL。XP及以后的系統(tǒng)都集成了這樣一種查找DLL的方法。

提取Manifest

默認(rèn)Manifest文件都是內(nèi)嵌在exe/dll中的,如果需要查看。VS提供mt.exe工具來從exe/dll中提取Manifest文件。

mt.exe -inputresource:d:\test.exe -out:d:\test.manifest

 

的Manifest文件有關(guān)設(shè)置

我們編譯MFC工程時(shí),會(huì)在stdafx.h文件里看到下列代碼。

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

    我想了解如何學(xué)習(xí)

    姓名:
    手機(jī):
    留言: