2

VS 2008 ソリューションを VS 2010 に移行しようとしています。ターゲット フレームワークを 4.0 のままにしておくと、すべてが完全に機能します (コンパイルとリンク)。

フレームワーク 2.0 を変更し、プラットフォーム フレームワーク v100 を変更すると (過去のコンパイル エラーを取得するため)、次のようなメタデータ リンク エラーが発生するだけです。

エラー LNK2022: メタデータ操作に失敗しました (80131195): カスタム属性に一貫性がありません: (0x0c0000f7)。C:\Development\Main\Filemaster\SoxService\MSVCMRTD.lib(managdeh.obj)

ILDAsm を使用することになっていることを読みましたが、obj ファイルが気に入らず、リンクが完了していないため、ロードする exe がありません。

エラーの種類を見つける方法について誰かアドバイスをいただけますか?

ツールと戦うことほど嫌いなことはありません。

4

1 に答える 1

3

プロジェクトの XML ファイル自体に移動し、TargetFramework を 4.0 に変更することで、この問題を回避することができました。その後、すべてが正常にコンパイルおよびリンクされました。

ハンス氏は、この場所で見つけることができる C++ ネイティブ マルチターゲットについて言及しています。 プラットフォーム フレームワークは、プロジェクトの [プロパティ] > [全般] で変更でき、記事でアドバイスされていますが、VC++ の明らかなバグのため、これは機能しません。

于 2011-11-23T17:23:13.010 に答える