2014-08-30 47 views
2

我有一個dll文件。我用它在Windows窗體應用程序(C#)沒有問題。在ASP.NET網站中使用Dll

現在,我想在我的ASP.NET網站(C#)使用,我將其導入像我的Windows應用程序是這樣的:

[DllImport("mydll.dll")] 
static extern int myfunc(int i); 

但是當我運行我的網站,並使用MYFUNC方法就說明此錯誤:

An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) 

我不知道是什麼問題。

一些更多的信息:

這是64位的DLL。我有一個x64 cpu(英特爾酷睿i7)。我沒有dll的源代碼。我的本地計算機上有一個IIS,我正在測試它。

+0

它在這裏找到答案: http://stackoverflow.com/questions/23215518/target-32-bit-or-64-bit-native-dll-depending-on-environment – thirdDeveloper 2014-08-30 06:59:07

回答

1

您可能正在x64上運行,並且您的IIS未設置爲允許x86程序集。

在你的應用程序池啓用32位DLL,as described here

  1. 右鍵單擊您的應用程序池
  2. 選擇高級設置
  3. 變化的「啓用32位應用程序」,真值並單擊OK
+0

我做了你所說的,但並沒有解決問題。 – Rahmani 2014-08-30 07:50:37

+0

給我們一些關於你的設置的更多信息。它是一個32位的DLL嗎?你有DLL的源代碼,你可以重新編譯它的目標x64?它發生在本地還是服務器上?你在x64上嗎?什麼版本的IIS? – demoncodemonkey 2014-08-30 07:53:02

+1

它是64位的dll。我有一個x64 cpu(英特爾酷睿i7)。我沒有dll源文件。我的本地計算機上有一個IIS,我正在測試它。 – Rahmani 2014-08-30 08:04:43