簡體   English   中英

C DLL沒有在C#中加載

[英]C DLL doesn't load in C#

我有一個簡單的C DLL(不是COM)。 我還有一個運行它的C#2.0應用程序(dllimport)。 dll放在應用程序的exe中。 我知道dll是可以的,而且我的應用程序稱它成功讀取它,但是當我將它們移動到另一台計算機時它說它可以加載dll。

錯誤:“無法加載dll name.dll。此應用程序無法啟動,因為應用程序配置不正確。”

我使用visual studio 2005來創建dll。 目標計算機是一個並排的計算機。 當我拿着並排的文件夾包含它沒有運行的CRT。 謝謝

C Dll可以具有各種依賴性。 嘗試使用Dependency Walker工具確定是否有任何一個。

Windows可能已檢測到您的應用程序的並行版本配置問題。

例如,C dll通常將針對特定版本的Microsoft C運行時庫進行編譯,該庫可能未安裝在您的第二台計算機上。 它也不必是C運行時庫,它可能是其他一些庫。

如何診斷?

查看這篇文章, http://blogs.msdn.com/junfeng/archive/2006/04/14/576314.aspx作為起點,雖然沒有保證。

我從人們寫的評論中使用了很多,他們是對的。 我使用:Dependency Walker工具和進程監視器和進程資源管理器。 我有一個問題,就是我的應用程序在運行時沒有檢測到正確的msvr80。 我在VC ++ amd沒有幫助的情況下安裝了可分發的軟件包。 answear在這里進行另一次討論並且它並排配置錯誤(Microsoft.VC80.CRT v8.0.50608.0)這是安全更新的問題:Microsoft.VC80.CRT v8.0.50727.4053(通過安裝安全更新)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM