これは私が今日の午後に遭遇した奇妙なものです...私はVS2008でうまくビルドする、しばらく前に作成した混合モードのライブラリを持っています。私は VS2010 に変換する過程にあり、VS2010 IDE を使用してこのライブラリをビルドしようとしました。予想通り、IDE はソリューションを VS2010 に変換する必要があることを教えてくれました。変換にエラーはありません。ライブラリをビルドしようとしましたが、ビルド順序に問題があるか、ビルド プロセスがマネージ コードからアンマネージ コードを認識できないようです。(例 ... マネージド ヘッダーが取り込まれるときにエラーが表示されます。パラメーターの 1 つとして を受け取り、メンバー変数をその値に設定するcannot convert int to System::String^
クラス メソッドがあります)。System::String^
では、一歩下がって、変換前のソリューション/プロジェクト ファイルに戻ります。VS2010 コマンド プロンプトを開き、MSBuild を使用して、最初に変換せずにソリューションをビルドしてみます。すべてが正常に構築されます。
? は ?
プロジェクト ファイルには明らかに何かが変更されていますが、それは何ですか? そして、なぜ IDE はプロジェクト ファイルを変換せずにプロジェクトをビルドできないのに、MSBuild は咳をせずにプロジェクトを一気飲みするのでしょうか? 明らかに、IDE を使用してソースを編集できるようにしたいのですが、以前にこの問題について同様の経験をしたり、聞いたりしたことのある人はいますか? それを修正する方法についてのアイデアはありますか?