0

これは私が今日の午後に遭遇した奇妙なものです...私はVS2008でうまくビルドする、しばらく前に作成した混合モードのライブラリを持っています。私は VS2010 に変換する過程にあり、VS2010 IDE を使用してこのライブラリをビルドしようとしました。予想通り、IDE はソリューションを VS2010 に変換する必要があることを教えてくれました。変換にエラーはありません。ライブラリをビルドしようとしましたが、ビルド順序に問題があるか、ビルド プロセスがマネージ コードからアンマネージ コードを認識できないようです。(例 ... マネージド ヘッダーが取り込まれるときにエラーが表示されます。パラメーターの 1 つとして を受け取り、メンバー変数をその値に設定するcannot convert int to System::String^クラス メソッドがあります)。System::String^

では、一歩下がって、変換前のソリューション/プロジェクト ファイルに戻ります。VS2010 コマンド プロンプトを開き、MSBuild を使用して、最初に変換せずにソリューションをビルドしてみます。すべてが正常に構築されます。

? は ?

プロジェクト ファイルには明らかに何かが変更されていますが、それは何ですか? そして、なぜ IDE はプロジェクト ファイルを変換せずにプロジェクトをビルドできないのに、MSBuild は咳をせずにプロジェクトを一気飲みするのでしょうか? 明らかに、IDE を使用してソースを編集できるようにしたいのですが、以前にこの問題について同様の経験をしたり、聞いたりしたことのある人はいますか? それを修正する方法についてのアイデアはありますか?

4

1 に答える 1

0

変換したプロジェクトの設定を VS2010 で新しく作成したプロジェクトと比較し、違いを確認しましたか?

プロジェクトを右クリックしてプロパティに移動し、「プラットフォーム ツールセット」などをチェックして、「v100」に設定されていること、同じページで「共通言語ランタイム サポート」が有効になっていることなどを確認します。作業プロジェクト。

また、プロジェクトを右クリックしてアンロードし、もう一度右クリックして 'vcxproj' ファイルを編集し、不足しているものや間違っているものがないかどうかを確認することもできます。

他のすべてが失敗した場合は、新しいプロジェクトを作成し、すべてのコードを手動でコピーします。変換の問題であれば、これは間違いなく機能するはずです。

これらのリンクが役立つ場合があります:
C++/CLI プロジェクトを Visual Studio 2010 に
移行する C++ プロジェクトを VS2008 から VS2010 に
移行する C++/CLI プロジェクトを VS2008 から 2010 に移行する

于 2012-08-13T17:09:00.343 に答える