C# 新增對System.Configuration.dll檔案的引用操作
卻被編譯器提示說:
警告 1
“System.Configuration.ConfigurationSettings.AppSettings”
已過時:
“This method is obsolete,it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings”
於是轉而想找到那個ConfigurationManager類來使用,結果在System.Configuration名稱空間下死活找不到ConfigurationManager類,
無奈,求助於網路,才知道原來還要新增對System.Configuration.dll 檔案的引用~~
在所要使用ConfigurationManager的程式集中找到引用介面,點選程式集,然後找到引用System.Configuration;
第一步開啟解決方案資源管理器
第二步右擊引用節點單機新增引用
第三步在程式集中找到system.configuration
補充:C# 將引用的DLL檔案放到指定的目錄下
引用的DLL比較多的時候,全部的DLL都放在exe同目錄下,顯得比較亂而且不利於管理。為了更好的管理軟體中的各種檔案應該分門別類的放入放在子資料夾中。步驟如下:
1、將dll檔案放入子資料夾
2、新增引用
解決方案資源管理器中,中 工程名或者“引用”上右鍵,選中新增引用。
中引用管理器中,點選瀏覽,選中子資料夾中的dll檔案。
3、修改dll檔案的引用屬性
點選新增成功的引用,將“複製本地”改成false(不然程式執行的時候會將子資料夾下的dll檔案複製到根目錄中)。
4、新增引用的地址,修改config檔案
在根目錄中開啟“app.config”檔案,在<configuration>節點後面新增<runtime>節點再新增下面的節點,其中 probing privatePath 中的地址為子檔案的名稱。重新生成一下就可以達到預期效果了。指定的目錄即為生成exe所在路徑的次級dll檔案目錄。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="bin/dll;" /> </assemblyBinding> </runtime> </configuration>
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="bin;bin2\subbin;bin3"/> </assemblyBinding> </runtime> </configuration>
這是最簡單的方法,當然也有一定的侷限性,就是沒法對dll做控制,另外,無法解決第三方DllImprt中引入的程式集不在根目錄下的問題,不過無論怎麼說,這個都基本解決了問題。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。