33

VS2010プロジェクトをVS2012にアップグレードしましたが、依存プロジェクトがオンデマンドで構築されていないという問題が発生しています。たとえば、ソリューションに次のプロジェクトがあるとします。

  • ライブラリA
  • ConsoleApp 1

ConsoleApp1がライブラリAを参照する場合。ライブラリAのクラスのメソッドのシグネチャを変更してConsoleApp1を実行すると、ConsoleApp 1を実行してもライブラリAが変更されなかったため、ConsoleApp1が変更を認識しないためにコンパイラエラーが発生します。建てる。

ライブラリAを手動でビルドしてから、ConsoleApp 1を手動でビルドすると、正常に動作します。ただし、ConsoleApp 1を実行すると、起動する前に依存プロジェクトが再構築されると思います。

何かが正しく構成されていませんか?それとも、これはVS2012のバグですか?

4

8 に答える 8

51

あなたの症状は私がしばらく前に経験したものと非常に似ているように聞こえます。activeプロジェクトが現在のソリューションconfigurationとアクティブなソリューションプラットフォームでビルドするように設定されていることを確認しますBuild->Configuration Manager

于 2012-06-16T15:37:24.713 に答える
19

プロジェクトreferencesを削除して再度追加してみてください(たどるパス:(References ->右クリック)Add reference -> Solution -> Project)。別の試みをする前にSave All。これが私がそれを解決した方法です。

于 2012-06-16T15:14:51.823 に答える
19

これは、ソリューションの.suoファイルがロックされ、VisualStudioがそのファイルに書き込めなくなった場合に発生します。この問題のもう1つの症状は、ソリューションを開いたときに、ソリューションの横に一時的なsuoファイルが作成されることです。Visual Studioを閉じて、作業領域内のすべての*.suoファイルを削除してみてください。次に、Visual Studioを再度開き、すべてを再構築します。ソリューションを手動で再構築する必要はありません。これにより、今日私の同僚に起こったように、ロックされた.suoが原因である場合に問題が修正されます。

彼の場合、原因はVisualStudioがまだ開いている間にラップトップをシャットダウンしたことであるように思われました。たぶん、Windowsのシャットダウンはきれいに完了しませんでしたか?.suoが最初にロックされた方法についてのみ推測できます。

于 2012-11-26T18:51:37.533 に答える
8

上記のすべての解決策を試しましたが、問題は解決しませんでした。これは、メイン(スタートアップ)プロジェクトのみをビルドするように設定されActive configurationていたためであることがわかりました。ConfigurationManager

Build>に移動ConfigurationManager

以下のスクリーンショットのように、ビルドするすべてのプロジェクトがチェックされていることを確認してください。これは、ここのAsp.Netフォーラムでの同様の問題であり、 MSDNの詳細 です。それは奇妙でしたが、bcoz私はこれらの設定を変更したことはなく、先週は正常に機能していました ここに画像の説明を入力してください

于 2013-05-06T22:47:14.583 に答える
6

同様の問題が発生しました。解決策(または問題)は、「スタートアッププロジェクトと実行への依存関係のみをビルドする」がチェックされたBuild and Run設定でした。Tools > Options... > Projects and Solutions > Build and Runスクリーンショットは、現在機能しているソリューションを示しています。

VisualStudio2012のオプション

于 2013-09-30T12:00:10.820 に答える
2

私の場合、プロジェクトを右クリックして問題を解決します。依存関係の構築>プロジェクトの依存関係。次に、各プロジェクトの順序を手動で設定します。あなたがたくさんのプロジェクトを持っているなら、非常に苦痛です。

ここに画像の説明を入力してください

于 2016-09-21T23:50:24.860 に答える
1

参照しているプロジェクトの.NetFrameworkのバージョンが参照しているプロジェクトと同じかそれ以上であることを確認してください。

于 2014-09-22T15:54:47.157 に答える
0

ソリューションエクスプローラーでソリューションを右クリックし、[ソリューションのクリーン]をクリックします。

于 2013-09-30T19:13:57.520 に答える