VS2010プロジェクトをVS2012にアップグレードしたところ、依存プロジェクトがオンデマンドで構築されないという問題が発生しました。たとえば、私のソリューションに次のプロジェクトがあるとします。
ここで、ConsoleApp 1がライブラリAを参照しています。ライブラリAのクラスのメソッドのシグネチャを変更してConsoleApp 1を実行すると、ConsoleApp 1を実行してもライブラリAが実行されなかったため、変更がConsoleApp 1に表示されないため、コンパイラエラーが発生します。ビルド。
ライブラリAを手動でビルドし、次にConsoleApp 1を手動でビルドすると、正常に動作します。ただし、ConsoleApp 1を実行すると、依存するプロジェクトが起動前に再構築されると思います。
何かが正しく設定されていませんか?それともVS2012のバグですか?
プロジェクトreferences
を削除してからもう一度追加してみてください(たどるパス:References ->
(右クリック) Add reference -> Solution -> Project
)。もう一度試す前にSave All
。これは私がそれを解決した方法です。
あなたの症状は 少し前に経験したもの によく似ています。現在のactive
ソリューションconfiguration
およびBuild->Configuration Manager
の下のアクティブなソリューションプラットフォームでビルドするようにプロジェクトが設定されていることを確認します。
これは、ソリューションの.suoファイルがロックされ、Visual Studioがそれを書き込めなくなったときに発生します。この問題のもう1つの症状は、ソリューションを開くと、ソリューションの隣に一時的なsuoファイルが作成されることです。 Visual Studioを閉じて、作業領域内のすべての* .suoファイルを削除してみてください。次に、Visual Studioを再度開き、すべてを再ビルドします。ソリューションを手動で再構築する必要はありません。これは、今日私の同僚に起こったように、ロックされた.suoが原因で発生した問題を修正します。
彼の場合、原因は、Visual Studioが開いている間にラップトップをシャットダウンしたことであると思われました。 Windowsのシャットダウンが正常に完了しなかったのでしょうか? .suoが元々ロックされた方法を推測することしかできません。
上記の解決策をすべて試しましたが、問題は解決しませんでした。これは、ConfigurationManager
のActive configuration
がメイン(スタートアップ)プロジェクトのみをビルドするように設定されていたことが原因であることがわかりました。
Build
> ConfigurationManager
に移動します
ビルドするすべてのプロジェクトが下のスクリーンショットのようにチェックされていることを確認してくださいこれはAsp.Netフォーラムの同様の問題 here であり、これは [〜#〜] msdnの詳細です[〜#〜] 。奇妙でしたが、私はこれらの設定を変更したことがなく、先週は正しく機能していました
私は同様の問題に遭遇しました、解決策(または問題)はBuild and Run
の下の設定Tools > Options... > Projects and Solutions > Build and Run
「スタートアッププロジェクトとRunへの依存関係のみをビルドする」がチェックされた場所。スクリーンショットは、現在機能しているソリューションを示しています。
参照元のプロジェクトの.Netフレームワークのバージョンが、参照先のプロジェクトと同じかそれ以上であることを確認してください。
ソリューションエクスプローラーでソリューションを右クリックし、[ソリューションのクリーン]をクリックします。