Я разрабатываю в Windows 7 64-bit с Visual Studio 2008. У меня есть коллекция библиотек классов, которые я объединяю в одну DLL, используя ILMerge.Однако, когда я пытаюсь использовать эту объединенную DLL, я получаю
[ BadImageFormatException : не удалось загрузить файл или сборку 'MyMergedDll' или одну из ее зависимостей.Была предпринята попытка загрузить программу с неверным форматом.]
Я искал помощь в этом, и мне показалось, что мне нужно установить свойство Build в каждом проекте в MyMergedDll, чтобыцель x86, так что я сделал это.Я также установил все не-MSTest проекты в веб-сервисе, в котором я ссылаюсь на MyMergedDll, чтобы нацелиться на x86.Однако я все еще получаю эту ошибку.
Если верить этой записи в блоге , я могу получить эту ошибку в результате выполнения:
public class SpecificClass: BaseClass: where T : class { }
То есть наличие ограничения класса на универсальном.Запись в блоге датируется 2007 годом, поэтому я не знаю, применимо ли это до сих пор.Я хотел получить от StackOverflow некоторую информацию о том, что вы, ребята, думаете, в чем проблема, прежде чем я начну отслеживать каждый общий класс в своих проектах для проверки ограничений.
Если это имеет значение, MyMergedDll подписывается строгим именем.Я пытаюсь использовать MyMergedDll как в консольном приложении, так и в веб-сервисе.Я не знаю, возможно ли, что все усложняется тем, обновляется ли IIS каждый раз, когда я перестраиваю веб-сервис.С консольным приложением я получаю BadImageFormatException
только при сборке в режиме выпуска.