在VS中用C#寫了個類庫,后面想轉成靜態庫發現沒有直接的方法,原來在C++中可以,而C#中不支持。
但是有時候程序引用C#編寫的動態庫覺得用戶體驗不好太累贅,想要簡單只發一個exe可執行程序給用戶就好,該怎么解決?
經過我研究,找到了如下的方法:(VS編譯器)
- 在VS中安裝Nuget擴展
- 打開要靜態化的EXE項目
- 打開Nuget為目標EXE工程安裝Costura.Fody。
- 重新構建項目,完成。這時候的exe可以直接發給對方而不需要附帶發dll了。
具體步驟如下:
安裝NuGet擴展
要使用NuGet首先需要安裝它(在安裝了MVC3的系統上已自動安裝了NuGet)
1. 點擊 工具-->擴展管理器(R)...-->右上角搜索框輸入NuGet
2. 點擊 NuGetPackage Manager 項上面的下載按鈕開始下載NuGet
3. 下載完成后出現安裝頁面,點安裝開始安裝
4. 很快安裝完成,然后點擊關閉完成整個安裝
5. 安裝完后NuGet暫時不能用,需要重新啟動下VS才行,重啟后完畢后打開 擴展管理器(R)... 在已安裝的擴展里可以看到NuGet Package Manager已經安裝好了
使用NuGet下載需要的類庫
1. 打開NuGet管理界面
2. 出現如下界面,可以在里面找自己想要的類庫也可以在右上角搜索里面輸入關鍵字查找自己想要的類庫,找到合適自己的類庫后點install進行安裝
3. 這里我們選擇安裝Json.Net,點擊安裝好出現組件下載界面
4. 下載完成后會出現提示將類庫安裝到什么項目,這里我們選擇安裝到TestConsole項目
5. 安裝完成后可以看到已經安裝的Josn.Net顯示一個已安裝的小對勾
6. 打開項目引用可以看到我們剛選擇的類庫Newtonsoft.Json已經自動添加到項目引用中
參考地址:http://kb.cnblogs.com/page/143190/
http://www.cnblogs.com/instance/p/4863811.html