Re: [問題] 又來問問題了~關於一個引用外部DLL的例 …
※ 引述《reptile0426 ( )》之銘言:
: 首先~ 我在A電腦上寫好一套程式 在A電腦上RUN都很正常
: 接下來,我把A電腦的程式整個CALL到B電腦上
: 發現他不能RUN 例外錯誤的訊息是
: FileLoadException
: 無法載入檔案或組件 'QuickCamLib, Version=1.2.3048.28312, Culture=neutral,
: PublicKeyToken=null' 或其相依性的其中之一。 無法啟動這個應用程式,因為應用程式
: 的設定不正確。重新安裝應用程式應該可以修復這個問題。 (發生例外狀況於 HRESULT:
: 0x800736B1)
: 發現這個Library在B電腦上整個不能用,甚至連他的範例程式都不能執行,
: 也是出現一樣的錯誤,
: 我上網找了很多方法,一個一個TRY都沒辦法,
: 不知道大家有沒有遇過一樣的問題,這我根本不知道怎麼辦
: 謝謝大家了 附上這個LIBRARY的載點 歡迎大家幫忙一下
: 看是否有一樣的問題= =
: http://grazz.com/projects/quickcamlib/
: 這是一個控制攝影機的LIB
以下是我的作法...
參考看看~
---
C# 使用 MFC DLL 並移植到其他電腦上執行
會出現 無法載入... 等問題
參考文件 :
http://www.zeali.net/entry/476
http://www.codeproject.com/KB/cpp/vcredists_x86.aspx?df=100&forumid=
244216&exp=0&select=1752798
http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=1135958&
SiteID=14
解決之法 :
1. 安裝 Microsoft Visual C++ 2005 可轉散發套件 (x86)
- vcredist_x86.exe
2. 將執行檔整個目錄(Debug or Release)複製到欲測試端電腦,
並參考如下(注意), 將相對應之 DLL 檔複製在執行檔所在目錄
3. 執行
注意 :
不能將 debug 和 release 版的 DLL 混合在一起使用。
debug都是debug版,release版都是release版。
編譯 DLL 若用 Release 則必須複製
組態 : Debug Mode
\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86
|
-> \Microsoft.VC80.DebugCRT
|
-> Microsoft.VC80.DebugCRT.manifest, msvcm80d.dll,
msvcp80d.dll, msvcr80d.dll
-> \Microsoft.VC80.DebugMFC
|
-> mfc80d.dll, mfc80ud.dll, mfcm80d.dll, mfcm80ud.dll,
Microsoft.VC80.DebugMFC.manifest
編譯 DLL 若用 Debug 則必須複製
組態 : Relsase Mode
\Microsoft Visual Studio 8\VC\redist\x86
|
-> \Microsoft.VC80.CRT
|
-> Microsoft.VC80.CRT.manifest, msvcm80.dll, msvcp80.dll,
msvcr80.dll
|
-> \Microsoft.VC80.MFC
|
-> mfc80.dll, mfc80u.dll, mfcm80.dll, mfcm80u.dll,
Microsoft.VC80.MFC.manifest
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.33.177
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):