misaqyrn9677 Ответов: 1

Как запустить DLL в IIS версии 6.1


Привет
При создании объекта DLL (Matlab) и запуске Visual Studio ошибки нет
Но при выполнении, что IIS, что премьер-министр ошибке и не может работать в IIS
Пожалуйста, Помогите Мне Это Исправить

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

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

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

Source Error: 


Line 22:         protected void Button1_Click(object sender, EventArgs e)
Line 23:         {
Line 24:             itd = new tdg.tdgITurboDIAG();
Line 25:             Response.Write(itd.ToString());
Line 26:             PI = itd.Initialize();

Source File: c:\Users\m.yarian\Desktop\WebApplication1\WebApplication1\WebApplication1\WebForm1.aspx.cs    Line: 24 

Stack Trace: 


[BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)]
   MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) +0
   MathWorks.MATLAB.NET.Arrays.MWArray..cctor() +375

[TypeInitializationException: The type initializer for 'MathWorks.MATLAB.NET.Arrays.MWArray' threw an exception.]
   MathWorks.MATLAB.NET.Utility.MWMCR..cctor() +1294

[TypeInitializationException: The type initializer for 'MathWorks.MATLAB.NET.Utility.MWMCR' threw an exception.]
   tdgNative.tdg..cctor() +46

[TypeInitializationException: The type initializer for 'tdgNative.tdg' threw an exception.]
   tdgNative.tdg..ctor() +0
   WebApplication1.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\Users\m.yarian\Desktop\WebApplication1\WebApplication1\WebApplication1\WebForm1.aspx.cs:24
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +155
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804


Что я уже пробовал:

как запустить dll в iis версии 6.1

[no name]

Вероятно, вы пытаетесь использовать 64-битное приложение в 32-битном мире.

1 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

С IIS 6. x, когда вы устанавливаете флаг 'enable32BitAppOnWin64', вы фактически превращаете IIS в 32-битный хост целиком... Нет никакого способа определить разные пулы с разной конфигурацией - это можно сделать на IIS 7 или новее...
Поскольку большинство машин IIS 6 устанавливаются с этим флагом по умолчанию, это, вероятно, ваша проблема...
Итак, у вас есть эти варианты:
1. Используйте 32-битный MATLAB
2. Используйте более новые IIS
3. Настроить IIS, чтобы использовать только 64 бит...