顯示具有 DLL 標籤的文章。 顯示所有文章
顯示具有 DLL 標籤的文章。 顯示所有文章

2017年11月7日 星期二

C# 加載網路硬碟的Dll失敗

我有一個網路硬碟,磁區符號是Z槽。

在Z槽下面,放了一個assembly,名為test.dll。然後,我在VS2010中建立了一個.NET 4.0的工程,程序中有下面一段代碼:

執行代碼,拋出FileLoadException異常:Could not load file or assembly 'file:///Y:\bb\nvo_cas.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)。

【辦法一】

根據提示,找到了MSDN的一篇文章。文章給出的解決辦法是:在App.config中加入下面的xml片段:

      
      ......  
        
          
          
        
      ......  
      


【辦法二】

Assembly類有一個靜態函數UnsafeLoadFrom,這個函數在加載一個assembly的時候,不會進行一些安全檢查。

string dll = @"Z:\test.dll";  
Assembly a = Assembly.UnsafeLoadFrom(dll);  


【辦法三】

Assembly的load方法有很多的重載,可以使用其中的一個參數為byte[]的load函數。代碼如下:

string dll = @"Z:\test.dll"; ;  
byte[] assemblyBuffer = File.ReadAllBytes(dll);  
Assembly a = Assembly.Load(assemblyBuffer);  


轉載自:【解决问题】加载网络映射盘中的assembly失败

2017年7月27日 星期四

C# 如何匯入外部DLL及如何傳值運作

今天被主管問到一個問題,.NET的參考元件順序是什麼? 一時答不出來,也沒有這樣的觀念,所以找了一些資料。

.NET參考元件的順序

1.GAC (C:\Windows\assembly)

2.執行exe檔底下同目錄的DLL檔

3.環境變數內的路徑,去尋找該DLL檔

讓我對.NET的參考元件順序有更深的認識

[.NET] 組件安裝與配置 / Assembly Install and Configuration

C# 如何匯入外部DLL及如何傳值運作