日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

DotNet開發之反射技術詳解—動態庫的加載

來源: 責編: 時間:2024-05-27 17:18:34 197觀看
導讀反射是一種強大的工具,它允許程序在運行時獲取關于類型、成員和程序集的信息,并動態地創建、調用和修改代碼。今天,我們將深入探討反射的其他用法,以幫助您更好地利用這一技術。一、Assembly.Load(),Assembly.LoadFrom(),As

K7Y28資訊網——每日最新資訊28at.com

反射是一種強大的工具,它允許程序在運行時獲取關于類型、成員和程序集的信息,并動態地創建、調用和修改代碼。今天,我們將深入探討反射的其他用法,以幫助您更好地利用這一技術。K7Y28資訊網——每日最新資訊28at.com

一、Assembly.Load(),Assembly.LoadFrom(),Assembly.LoadFile()的區別

K7Y28資訊網——每日最新資訊28at.com

1.Assembly.Load

  • Assembly.Load(string assemblyString):通過程序集的完全限定名稱(包括版本號、公鑰令牌等)或者簡單名稱來加載程序集。例如:Assembly.Load("MyAssembly, Versinotallow=1.0.0.0, Culture=neutral, PublicKeyToken=null")Assembly.Load("MyAssembly")
  • Assembly.Load(byte[] rawAssembly):從字節數組中加載程序集。這對于從網絡或其他非傳統來源加載程序集很有用。

示例用法:K7Y28資訊網——每日最新資訊28at.com

// 根據程序集名稱加載程序集Assembly assembly = Assembly.Load("MyAssembly");// 從字節數組加載程序集byte[] assemblyBytes = File.ReadAllBytes("MyAssembly.dll");Assembly assembly = Assembly.Load(assemblyBytes);

2.Assembly.LoadFrom

  • Assembly.LoadFrom(string assemblyFile):從指定路徑加載程序集文件。
  • Assembly.LoadFrom(string assemblyFile, Evidence securityEvidence):基于安全證據加載程序集文件。

示例用法:K7Y28資訊網——每日最新資訊28at.com

// 從文件路徑加載程序集Assembly assembly = Assembly.LoadFrom("C://MyAssemblies//MyAssembly.dll");// 基于安全證據加載程序集Evidence evidence = new Evidence();Assembly assembly = Assembly.LoadFrom("C://MyAssemblies//MyAssembly.dll", evidence);

3.Assembly.LoadFile

  • Assembly.LoadFile(string path):從指定路徑加載程序集文件。與LoadFrom不同,它會創建一個新的加載上下文,程序集將在該上下文中加載并解析。

示例用法:K7Y28資訊網——每日最新資訊28at.com

// 從文件路徑加載程序集Assembly assembly = Assembly.LoadFile("C://MyAssemblies//MyAssembly.dll");

二、加載程序集的異常情況

需要注意的是,在使用這些方法加載程序集時,你需要處理可能出現的異常情況以下可能會拋出以下幾種異常:K7Y28資訊網——每日最新資訊28at.com

1.FileNotFoundException

K7Y28資訊網——每日最新資訊28at.com

  • 當指定的程序集文件無法找到時,會拋出此異常。
  • 可能的原因包括:文件路徑錯誤、文件不存在或不可訪問等。

2.FileLoadException

K7Y28資訊網——每日最新資訊28at.com

  • 當無法加載指定的程序集文件時,會拋出此異常。
  • 可能的原因包括:無效的程序集文件、程序集版本不兼容、程序集依賴項無法解析等。

3.BadImageFormatException

K7Y28資訊網——每日最新資訊28at.com

  • 當嘗試加載無效的程序集文件格式時,會拋出此異常。
  • 可能的原因包括:程序集文件不是有效的CLR程序集、程序集文件被損壞或篡改等。

4.SecurityException

  • 當沒有足夠權限來加載程序集時,會拋出此異常。
  • 可能的原因包括:缺少適當的安全權限、程序集未經數字簽名等。

5.ReflectionTypeLoadException

  • 當加載程序集時出現類型加載異常時,會拋出此異常。
  • 可能的原因包括:程序集中某個類型的依賴項無法解析、類型初始化失敗等。

6.UnauthorizedAccessException

  • 當沒有足夠的權限訪問程序集文件時,會拋出此異常。
  • 可能的原因包括:訪問權限限制、文件被占用或鎖定等。

這些異常通常會在使用Assembly.Load()方法加載程序集時的各種錯誤情況下拋出。為了確保程序的穩定性和可靠性,建議在使用Assembly.Load()方法時使用適當的異常處理機制來捕獲和處理這些異常。此外,當使用這些方法加載程序集時,還要注意程序集的版本和依賴關系,確保加載的程序集符合預期,并且不會引發版本沖突或依賴項缺失的問題。K7Y28資訊網——每日最新資訊28at.com

三、DLL加載規則

K7Y28資訊網——每日最新資訊28at.com

我相信很多使用反射技術或者不使用反射技術,加載程序集的時候,都曾經遇到過BadImageFormatException的問題。在加載DLL(動態鏈接庫)時,系統會按照一定的路徑規則進行搜索。以下是通常情況下的DLL加載路徑規則:K7Y28資訊網——每日最新資訊28at.com

應用程序目錄:系統首先會搜索執行當前代碼的應用程序目錄。這是最常見的搜索位置,通常會將DLL文件放置在應用程序的根目錄或相關子目錄中。K7Y28資訊網——每日最新資訊28at.com

系統目錄:如果在應用程序目錄中未找到DLL文件,則系統會搜索系統目錄。系統目錄通常是指 %SystemRoot%/System32(在大多數情況下為 C:/Windows/System32)。請注意,32位應用程序在64位操作系統上可能會搜索 %SystemRoot%/SysWOW64 目錄。K7Y28資訊網——每日最新資訊28at.com

Windows目錄:如果在系統目錄中未找到DLL文件,則系統會搜索Windows目錄。Windows目錄通常是指 %SystemRoot%/(在大多數情況下為 C:/Windows)。K7Y28資訊網——每日最新資訊28at.com

當前工作目錄:如果在以上路徑中未找到DLL文件,則系統會搜索當前工作目錄。當前工作目錄是指應用程序正在運行的目錄。K7Y28資訊網——每日最新資訊28at.com

環境變量指定的路徑:系統還會搜索在系統環境變量 PATH 中指定的路徑。PATH 變量包含一系列目錄路徑,用于指示系統在其中搜索可執行文件和DLL文件。K7Y28資訊網——每日最新資訊28at.com

請注意,搜索DLL的順序是按照上述規則從前往后進行的,一旦找到匹配的DLL文件,搜索過程就會停止。此外,還可以使用以下方法來影響DLL的加載路徑:K7Y28資訊網——每日最新資訊28at.com

  • 使用絕對路徑:指定DLL的完整路徑,確保系統可以直接訪問該路徑下的DLL文件。
  • 使用相對路徑:指定相對于應用程序或當前工作目錄的相對路徑。在這種情況下,需要確保指定的相對路徑是正確的。

本文鏈接:http://m.www897cc.com/showinfo-26-91014-0.htmlDotNet開發之反射技術詳解—動態庫的加載

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 分布式一致性必備:一文讀懂Raft算法

下一篇: 構建穩固基石:C++線程安全Map的簡單實現與應用

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲美女在线看| 国产精品亚洲аv天堂网| 久久躁狠狠躁夜夜爽| 老牛嫩草一区二区三区日本| 美国十次了思思久久精品导航| 欧美激情一二三区| 国产精品久久久久久av福利软件| 国产无遮挡一区二区三区毛片日本| 影音先锋成人资源站| 99一区二区| 欧美一区二视频| 欧美激情自拍| 国产欧美日韩精品一区| 亚洲高清视频在线| 亚洲一区在线播放| 久久躁狠狠躁夜夜爽| 欧美日韩在线播| 韩国成人理伦片免费播放| 99成人在线| 久久精品一本久久99精品| 欧美日本高清视频| 国产亚洲成精品久久| 亚洲美女在线国产| 欧美在线精品一区| 欧美美女视频| 狠狠爱成人网| 亚洲一本大道在线| 免费不卡在线观看| 国产精品主播| 99国内精品久久久久久久软件| 久久国产精品亚洲77777| 欧美日韩精品二区| 在线成人亚洲| 校园激情久久| 欧美日韩裸体免费视频| 一区二区三区在线免费观看| 亚洲午夜视频在线| 欧美成人午夜激情在线| 国产日韩欧美中文| 国产精品99久久久久久宅男 | 在线观看欧美成人| 亚洲欧美激情视频在线观看一区二区三区| 蜜桃精品一区二区三区| 国产亚洲精品综合一区91| 亚洲天堂av高清| 欧美韩日精品| 一区二区在线观看av| 亚洲综合成人在线| 欧美极品在线视频| 今天的高清视频免费播放成人| 亚洲一区二区精品在线观看| 欧美激情精品| 在线日本欧美| 久久久久国产免费免费| 国产精品丝袜久久久久久app| 日韩视频二区| 免费永久网站黄欧美| 国产一区视频在线观看免费| 亚洲欧美日韩高清| 欧美丝袜第一区| 亚洲精品一区二区三区蜜桃久 | 欧美激情在线观看| 亚洲丰满在线| 久久网站免费| 黄色日韩精品| 久久精品在线视频| 国产亚洲欧美日韩日本| 先锋资源久久| 国产欧美日韩精品一区| 午夜日韩av| 国产区精品在线观看| 午夜日韩视频| 国产毛片一区二区| 欧美在线观看一区| 国际精品欧美精品| 久久精品国产精品亚洲| 国产亚洲福利一区| 欧美制服丝袜| 激情五月***国产精品| 久久精品最新地址| 国内久久婷婷综合| 久久亚洲国产精品一区二区| 黄色一区二区在线观看| 久久综合伊人77777| 加勒比av一区二区| 免费不卡在线观看| 亚洲国产婷婷综合在线精品 | 国产精品久久久久一区二区| 亚洲一级网站| 国产精品亚洲аv天堂网| 欧美亚洲视频在线看网址| 国产精品日韩在线一区| 亚洲欧美日韩一区在线| 国产伦精品一区二区三区免费迷| 亚洲欧美综合v| 国产亚洲欧洲997久久综合| 国产精品国产三级欧美二区| 久久久国产午夜精品| 国产精品麻豆va在线播放| 亚洲一区二区视频在线| 国产精品免费久久久久久| 亚洲图片欧美一区| 国产精品免费观看视频| 欧美一区视频在线| 黑人巨大精品欧美一区二区小视频| 久久精品国产2020观看福利| 精品96久久久久久中文字幕无| 免费欧美网站| 日韩视频免费| 国产精品狠色婷| 欧美一区二区三区视频免费播放| 国产一区二区三区在线免费观看 | 日韩午夜免费视频| 欧美小视频在线观看| 午夜精品理论片| 黄色成人片子| 欧美另类亚洲| 欧美一进一出视频| 亚洲成色精品| 国产精品白丝jk黑袜喷水| 欧美在线啊v| 精东粉嫩av免费一区二区三区| 麻豆成人精品| 一本一本a久久| 国产亚洲视频在线| 欧美韩国日本综合| 亚洲欧美日韩国产综合| 一色屋精品亚洲香蕉网站| 欧美激情免费观看| 亚洲欧美亚洲| 亚洲第一成人在线| 欧美性一区二区| 久久久久久一区二区三区| 日韩视频在线观看| 国产亚洲精品激情久久| 欧美高清视频| 午夜影院日韩| 亚洲人成在线播放网站岛国| 国产日韩一区二区三区| 欧美精品久久久久a| 欧美中文日韩| 一区二区欧美精品| 激情久久婷婷| 欧美网站在线观看| 免费成人你懂的| 亚洲欧洲99久久| 亚洲精品三级| 国产综合欧美| 国产精品chinese| 麻豆成人小视频| 午夜一区在线| 一区二区日韩欧美| 亚洲国产精品久久久| 国产欧美 在线欧美| 欧美另类极品videosbest最新版本| 久久精品毛片| 亚洲影院一区| 亚洲理论电影网| 悠悠资源网亚洲青| 国产精品一区视频| 欧美三级特黄| 欧美国产精品专区| 久久久久久久一区| 亚洲欧美视频在线观看| 99re热这里只有精品免费视频| 136国产福利精品导航| 国产人成一区二区三区影院| 欧美日韩在线观看一区二区| 鲁鲁狠狠狠7777一区二区| 欧美在线视频导航| 亚洲夜间福利| 一本色道婷婷久久欧美| 91久久精品国产91性色tv| 精品成人一区| 国产一区二区三区四区老人| 国产精品美女一区二区在线观看| 欧美日本一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久精品免费| 欧美一区二区视频97| 亚洲欧美福利一区二区| 国产精品99久久久久久人| 日韩午夜一区| 日韩写真在线| 亚洲日本va在线观看| 亚洲国产一区二区a毛片| 永久555www成人免费| 黄色一区二区三区| 合欧美一区二区三区| 欧美女主播在线| 亚洲第一狼人社区| 国产久一道中文一区| 欧美视频在线观看一区二区| 欧美顶级大胆免费视频| 久久综合激情| 久久免费视频在线观看| 久久超碰97中文字幕| 欧美亚洲一级| 午夜免费电影一区在线观看| 亚洲免费人成在线视频观看| 亚洲视频免费观看| 亚洲无亚洲人成网站77777| 在线一区免费观看| 亚洲无人区一区|