2011-02-04 2 views
4

私は非常に奇妙なシナリオに遭遇しました。私の解決策に問題を引き起こす.resxファイルがあります。Windows XPでは.resxファイルは正しくコンパイルされますが、Windows 7 64ビットではエラー137で失敗することがありますか?

Windows XPで動作するVisual Studio 2010を使用すると、問題なくコンパイルできます。

のWindows 7、64ビットの下で実行されているのVisual Studio 2010を使用して、同じソリューションは、エラー137

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

でビルド失敗を報告し、問題のリソースファイルが有効であると表示されますので、私はAでいます問題を説明する損失。

誰かが間違っている可能性があることを誰でも示唆できますか?

説明:VS 2010が不満を述べている行は、単純な</data >要素です。 XMLは整形式のようです。

+0

面白いことに追加するだけで、エラーが生成された要素をコメント化してアプリケーションをビルドすることができます。もちろん、リソースが不足しているので見苦しいように見えますが、実行されます! –

+1

プロジェクトコンパイルの不一致のような32ビットまたは64ビットのすべてのサウンドをコンパイルしようとします –

+0

@リチャードエラーが生成される要素は何ですか?万が一のアイコン? –

答えて

4

エラーメッセージの文字列に基づいて、デザイナを読み込もうとするとBadImageFormatExceptionがスローされます。

ビットミスマッチの問題である可能性が高いようです。ソリューションを再構築しようとしましたか? MSBuildを介してコマンドラインでビルドできますか?すべてのプロジェクトが「任意のCPU」を対象としているのですか、またはプロセッサ固有のプロジェクトを持っていますか?

この問題が発生する可能性がある箇所については、Sara Joinerが詳しく説明しているthis blog postをご覧ください。

+0

問題のプロジェクトは、32ビットビルドを対象としています。 (悲しいことに、コンポーネントの1つは32ビットのみであり、その要件を強制する)。プロジェクトはコマンドラインからMSBuildを使用して正しくビルドされます。 –

+0

あなたは私が答えに加えたリンクを見ることができますか?私はこれがあなたが打っているのと同じ問題だと思う。 –

+1

あなたが参照したブログ投稿は大きな助けとなりました。それは私の最初の質問よりもはるかに明確な方法で問題を記述するだけでなく、それを解決する多くの方法を提供します。ポインタありがとうございました。 –

1

これは、Microsoftが約1年間にわたって知っているVisual Studioのバグです。詳細については、以下のリンクを参照してください:

私は最近、.NET 4.0に、当社のWindowsフォームプロジェクトをアップグレードする必要がありましたので、すぐに私たちのように私たちの埋め込み画像を修正したデザイナーに触れました(読んで保存しました)。エラーの行は単なる塊であった。

残念ながら、提案された回避策のどれも私たちのために働かなかったので、弾丸を噛んでアップグレードする必要がありました。

2

システムを64ビットに移行する際にも同じ問題が発生しました。私にとって唯一の解決策は、guiファイルとresxファイルを更新するたびに、次のようにしなければならないということでした。

j00Lをすべてj0yLに置き換えてください。

これでコンパイルできるようになりました。

+0

うわー、これは実際に私のために働いた。どのようにこれを把握しましたか? –

+0

できればもっとアップしたい! – EleventhDoctor

関連する問題