1. 程式人生 > >【已解決】C#中整合DLL庫到自己的exe程式中

【已解決】C#中整合DLL庫到自己的exe程式中

【問題】

已經實現了下載ST歌曲的小程式,但是由於其中註冊快捷鍵的功能,需要呼叫額外的一個dll庫,Interop.SHDocVw.dll,所以釋出的時候,除了釋出一個單獨的exe之外,還需要連帶dll一起釋出,很是不爽。

希望將此dll整合到exe中。

【解決過程】

1.從:

找到:

但是個人覺得還是很麻煩,暫且不去使用這類方法,再去找找是否有更好的辦法。

2.後來參考:

但是去找了下,所引用的dll是Interop.SHDocVw,但是其屬性中,找不到其所說的“嵌入互操作型別”:

找不到 嵌入互操作型別

3.再參考:

重新去新增此dll,看看是否可以設定。

但是此處卻找不到Interop.SHDocVw.dll是在哪裡引用的了。

然後去程式碼中看了看,相關程式碼是:

?
1 SHDocVw.ShellWindows sws = new SHDocVw.ShellWindows();

然後後來手動刪除該SHDocVw,然後嘗試查詢。

後來折騰了半天,終於找到了。

本來是知道了該dll是屬於Microsoft Internet Controls的,所以後來嘗試找此關鍵字,最後是在COM中找到了:

找到了Microsoft Internet Controls的ieframe

添加了後,就可以看到那個SHDocVw了。

4.後來又參考了:

瞭解到了,對於SHDocVw的屬性中的Isolated,如果設定為True,則說明當編譯此專案的時候,不拷貝此dll到程式所在目錄。

而此處,看起來,本身就是作業系統自帶的此功能的支援,所以也不需要拷貝了。

所以暫時把其設定為True:

Isolated true

然後重新編譯試試,結果出錯:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ------ Rebuild All started: Project: downloadSongtasteMusic, Configuration: Debug x86 ------ Build started 9/25/2012 2:43:08 PM. CoreClean: Deleting file "D:\tmp\tmp_dev_root\downloadSongtasteMusic\downloadSongtasteMusic\downloadSongtasteMusic\bin\Debug\downloadSongtasteMusic.exe.config". Deleting file "D:\tmp\tmp_dev_root\downloadSongtasteMusic\downloadSongtasteMusic\downloadSongtasteMusic\bin\Debug\downloadSongtasteMusic.exe". Deleting file "D:\tmp\tmp_dev_root\downloadSongtasteMusic\downloadSongtasteMusic\downloadSongtasteMusic\bin\Debug\downloadSongtasteMusic.pdb". Deleting file "D:\tmp\tmp_dev_root\downloadSongtasteMusic\downloadSongtasteMusic\downloadSongtasteMusic\bin\Debug\Interop.SHDocVw.dll".

相關推薦

解決C#整合DLL自己exe程式

【問題】 已經實現了下載ST歌曲的小程式,但是由於其中註冊快捷鍵的功能,需要呼叫額外的一個dll庫,Interop.SHDocVw.dll,所以釋出的時候,除了釋出一個單獨的exe之外,還需要連帶dll一起釋出,很是不爽。 希望將此dll整合到exe中。 【解決過程】 1.從:

解決C#將DLL嵌入到exe當中

System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)         {             string dllName = args.Name.Contains(",

解決C#的#ifdef

ref: https://www.crifan.com/csharp_implement_the_ifdef_effect/   【問題】 想要在C#中實現,#ifdef的效果。   【解決過程】 1.之前就沒找打解決方法。 2.後來參考: #if

解決在 Visual Studio 設置 JavaScript/TypeScript 的斷點 腳本出現自動中斷錯誤

chrome alt 啟動應用 出現 ont ash 解決方法 腳本調試 設置 運行ASP.NET Core 程序出現錯誤如下: 已啟用 Visual Studio 中的 Chrome 腳本調試 在 Visual Studio 中設置 JavaScript/Type

Excel怎麽樣讓負數自動顯示紅色在自定義格式如何添加條件判斷呢解決

來源 tex vpd 問題 ref 負數 添加 博客 如何 在通常的情況下,負數會用紅色顯示,而這裏的負數就是一個簡單的條件判斷。那麽怎麽才能讓excel遇到負數就變成紅色,效果如圖常見問題出現特定的數據時怎麽變顏色? 比如數值為負數就自動變成紅色? 【解決方法,教程視頻資

EXCEL2013如何按照單元格顏色或字型顏色排序解決

在Excel表格中,有時候單元格排列的順序都是打亂的,這時候我們需要按一定規則進行重新排序。Excel的排序不僅可以對數值進行,同時還能識別單元格的顏色並對其進行排序。如圖【解決方法,教程視訊資料如下】 本教程視訊資料來源:http://edu.51cto.com/course/15404.html 完整

解決linux redhat 6 如何開啟防火牆的某個埠?例如:5900埠

vim /etc/sysconfig/iptables 開啟此檔案新增一下命令,之前要確認,沒有把所有的埠都關閉了,iptables載入命令是有順序的,先載入前面的命令,所以以下命令一定要在全部禁止的命令前面-A INPUT -m state --state

解決ADT通過Android SDK Manager去安裝x86的image時無法下載

折騰: 期間, 遇到問題: ADT中Android SDK Manager無法下載x86的image Downloading SDK Platform Android 4.1.2, API 16, revision 3  Failed to fetch U

解決檢索 COM 類工廠 CLSID 為 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的元件失敗,原因是出現以下錯誤: 80040154 沒有註冊類

檢索 COM 類工廠中 CLSID 為 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的元件失敗,原因是出現以下錯誤: 80040154 沒有註冊類win7 X64系統下,VS2015執行C#對OPC取數的時候報上述錯誤。可能出現原因:1.CO

asp.net(vs2010)遇到警告不允許使用“targetFramework”特性。解決

前提是已經安裝好.net框架(Framework)為4.0 !其實VS2010已經自帶有4.0版本 在寫專案時遇到警告1不允許使用“targetFramework”特性。 下面是解決方法: 右擊專案-

解決IOError: [Errno socket error] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)

@update:2017年08月15日14:40:29 描述:手寫訓練集的自動下載是通過input_data.py,而下載的地址是SOURCE_URL = 'https://storage.googleapis.com/cvdf-datasets/mnist/', 之前網路

解決Android studioADB啟動失敗,導致找不到虛擬機器或真機

adb server version (31) doesn't match this client (36); killing... error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每個套接字

解決谷歌Chrome瀏覽器如何開啟或關閉網頁的自動翻譯功能?

對於經常查閱各種外文資料的人來說,谷 歌翻譯外掛 必不可少。但是今天小編要跟大家說的不是 chrome外掛 ,而是chrome自帶的網頁翻譯功能。Chrome有自帶整頁翻譯的功能,這個我相信很 對於經常查閱各種外文資料的人來說,谷歌翻譯外掛必不可少。但是今天小編要跟大

Linux開發OpenCV在ARM-linux上的移植過程遇到的問題4---共享巢狀帶路徑解決

【Linux開發】OpenCV在ARM-linux上的移植過程遇到的問題4—共享庫中巢狀庫帶路徑【已解決】 標籤:【Linux開發】 緊接著上一篇,我居然又嘗試了一下編譯opencv,主要是因為由於交叉編譯ARM-Linux,opencv,好像剛開始ma

解決PyCharm出現unresolved reference error

問題描述 從GitHub上克隆的Python專案,在本地使用PyCharm開啟,發現在某個檔案的頭部匯入模組的部分報錯Unresolved reference 'pytools',出錯的程式碼如下所示 from pytools.model import

解決GET方法的引數處理URL特殊字元&%等

最近突然被分到後端做Web工具(也是直到最近才知道,在我們團隊做高併發、大資料處理的才是後端,我們做產品、web開發的只能算前端,暈。。。) 有個需求是 根據url及時間範圍查詢抓取到的不同版本的網頁快照,而綜合考慮另外一個需求後,查詢用了GET方法。 但是問題來了,當輸入

lnmp 搭建後,nginx下php文件404但是html文件正常訪問解決

() stack 找到 span nec mis group php 方法 今天遇到 了如題的問題。 上網查了很多資料 最終是在這個鏈接 裏 找到了能解決我的問題的方法 https://stackoverflow.com/questions/23443398/nginx-e

解決Https請求——基礎連接已經關閉 發送時發生錯誤

自己 服務器 poi make 手動 default 比較 man 消息 本人在做商用項目的推送消息功能時,借助第三方推送服務。這裏避免有打廣告的嫌疑,就不報名字了。由於是通過調用API接口,所以Post方法是自己寫的,但是在開發環境是可以正常推送的,但是一上線就出各種問題

cmd 解決windows連接手機,運行adb devices提示“unauthorized”

window 連接 eight div inf http ima 開發者 img 報錯截圖如下:    問題原因:電腦連接手機。手機未授權 解決方式:  設置----開發者選項-----打開USB調試,出現如下彈框,點擊“確定”即可解決問題。   cmd 【已解決】win

Python + Appium 解決driver(session)在多個class之間復用,執行完一個類的用例,再次執行下個類的用例時不需要初始化

nic bject config com appium client lee session ted py文件的名稱為:appium_config.py 中的寫法如下 # coding=UTF-8 ‘‘‘ Created on 2017.1.13 @author: Lu