Я пытаюсь скомпилировать (используя Visual Studio ) веб-сайт ASP.Net с библиотекой Chilkat . Сбой компиляции из-за этой ошибки:
Не удалось загрузить файл или сборку 'ChilkatDotNet2, Версия = 9.0.8.0, Culture = нейтральный, PublicKeyToken = eb5fc1fc52ef09bd' или одна из его зависимостей. Была предпринята попытка загрузить программу с неверным форматом.
Мне сказали, что эта ошибка возникает из-за несоответствия платформы.
Странная вещь заключается в том, что, хотя компиляция не удалась, сайт работает, когда к нему обращается из браузера. Моя теория состоит в том, что для компиляции IIS используется компилятор csc.exe из папки Framework64 (64-разрядная версия), в то время как Visual Studio использует компилятор csc.exe из папки Framework (32-разрядная версия). Если это действительно так, как я могу настроить мою Visual Studio для работы с 64-битным компилятором для сайтов ASP.Net?
Это моя текущая конфигурация разработки:
Почему :
{ {1}} Ваш веб-сайт (управляемая часть, скорее всего, не сторонняя) не компилируется в 32- или 64-разрядном режиме, по крайней мере, не так, как вы думаете. Разница в том, что WebDevServer.exe
(версия Cassini ), который Visual Studio использует для своего веб-сервера, является исключительно 32-разрядным. Таким образом, он загружает только 32-битные совместимые библиотеки DLL.
IIS на 64-битной машине может работать как в 32-битном, так и в 64-битном режиме (по умолчанию 64-битный), в зависимости от настроек конфигурации, поэтому при загрузке вашего приложения проблем не возникает.
Решение: К сожалению, здесь не так много вариантов, Я задал тот же вопрос некоторое время назад . Лучше всего использовать IIS для отладки. Вы устанавливаете его следующим образом: