Что может привести к правильной компиляции файла .resx в Windows XP, но с ошибкой 137 в 64-разрядной версии Windows 7? - PullRequest
4 голосов
/ 04 февраля 2011

Я столкнулся с очень странным сценарием.В моем решении есть файл .resx, вызывающий проблемы.

При использовании Visual Studio 2010 под Windows XP решение компилируется без проблем.

При использовании Visual Studio 2010 под Windows 7, 64-разрядная версиято же решение сообщает об ошибке сборки с ошибкой 137

An attempt was made to load a program with an incorrect format. Line 204, position 5. [Path Sanitized]\RemoteFileView.resx

Файл ресурса, о котором идет речь, кажется действительным, поэтому я затрудняюсь объяснить проблему.

Кто-нибудь может подсказать, что могло пойти не так?

Пояснение: Рассматриваемая строка, на которую жалуется VS 2010, - это простой элемент.XML выглядит хорошо сформированным.

Ответы [ 3 ]

4 голосов
/ 11 февраля 2011

Исходя из строки в сообщении об ошибке, BadImageFormatException выбрасывается, когда дизайнер пытается загрузить.

Вероятно, это проблема несоответствия битов. Вы пытались восстановить решение? Можете ли вы собрать в командной строке через MSBuild? Все ваши проекты нацелены на «Любой процессор», или у вас есть проект для конкретного процессора?

Пожалуйста, посмотрите на это сообщение в блоге , где Сара Джоинер описывает обстоятельства, при которых вы можете увидеть эту проблему подробно.

2 голосов
/ 07 июня 2012

У меня также была такая же проблема при миграции моей системы на 64-битную.Единственным решением для меня было то, что каждый раз, когда я что-то менял в графическом интерфейсе и обновлял resx-файлы, мне приходилось делать следующее:

Заменить все вхождения строки j00L на j0yL.

Теперь вы сможете компилировать!

1 голос
/ 14 февраля 2011

Это ошибка в Visual Studio, о которой Microsoft знает уже более года. Смотрите ниже ссылки для получения дополнительной информации:

Мне недавно пришлось обновить наш проект оконных форм до .NET 4.0, потому что, как только мы коснулись (прочитали сохраненный) дизайнер, он исправил наши встроенные изображения. Строка ошибки была просто бредом.

К сожалению, ни один из предложенных обходных путей для нас не сработал, поэтому нам пришлось укусить пулю и обновить.

...