У меня есть веб-сайт MVC 3, ссылающийся на 32-битную DLL.ОС Windows 2008 R2 x64.Сайт находится в пуле приложений ASP.NET 4.Я включил Enable32Bit, но он не работает.Я получаю исключение Bad Image Exception, но не могу найти, чтобы включить этот уровень входа в IIS.Я настроил страницу, которая выводит, работает ли она 32-битная или 64-битная, и когда я включаю / выключаю Enable32Bit на AppPool, я получаю правильный вывод.Сайт также находится в полном доверии.
Я в растерянности, чтобы попытаться заставить его работать.Я знаю, что это работает на Win7 32bit.
Можете ли вы предложить кое-что попробовать?
ОБНОВЛЕНИЕ: Я только что написал простое приложение для Windows Forms с кнопкой, которая вызывает мою DLL.Он был построен с целью x86, и он работал нормально, так что я думаю, что есть проблема с IIS или ASP.Net.Вот код, который используется для ссылки на DLL:
[DllImport("CDCrypt.dll")]
[return: MarshalAs(UnmanagedType.LPStr)]
public static extern String Encrypt([MarshalAs(UnmanagedType.LPStr)] String aName);
[DllImport("CDCrypt.dll")]
[return: MarshalAs(UnmanagedType.LPStr)]
public static extern String Decrypt([MarshalAs(UnmanagedType.LPStr)] String aName);
ОБНОВЛЕНИЕ 2: Имеет ли значение, является ли конвейер ASP.Net классическим или интегрированным?Я пробовал обе, но одну и ту же проблему, но подумал, что стоит спросить
ОБНОВЛЕНИЕ 3: Я нашел этот вопрос , пытаясь сделать то же самое, и он сдался, которыйне слишком полезно !!