いくつかのプロジェクトを含むソリューションがあります。1つはasp.netプロジェクトであり、asp.net開発サーバーを使用するように設定されています。他のプロジェクトはasp.netとは何の関係もありません。たとえば、管理されていないc ++で記述されたWindowsサービスもあれば、c#コンソールアプリケーションもあります。
私の問題は、デバッガーでasp.net以外のプロジェクトのいずれかを開始した場合でも、VisualStudioがasp.net開発サーバーを開始することです。これにより、VisualStudioの複数のインスタンスを使用してプログラムの相互作用をデバッグしているときに問題が発生します。Webアプリケーションをデバッグするときは、Webサーバーを起動する必要があります。
非asp.netプロジェクトをデバッグすると、asp.netプロジェクトのプロパティで指定されたポート番号と仮想ディレクトリを使用してasp.net開発サーバーが起動することに気付きました。これらのプロジェクト間にプロジェクトの依存関係はありません。
Visual Studioに、実際に使用するように指定しているプロジェクトに対してのみ開発サーバーを起動するように指示する方法はありますか?
編集1:この動作を再現するには:
- vs2010を使用して、空のソリューションを作成します。
- すべてのデフォルトを受け入れるC++コンソールアプリケーションを追加します。
fgetchar()
生成されたに呼び出しを追加して、main()
実行時にすぐに終了しないようにします。 - デバッガーでプロジェクトを実行し、asp.net開発サーバーが起動しないことに注意してください。
- asp.net Webアプリケーションプロジェクトをソリューションに追加し、すべてのデフォルトを受け入れます。プロジェクトのプロパティのWebタブに移動し、asp.net開発サーバーを使用するように構成されていることを確認します。
- c ++コンソールアプリケーションをスタートアッププロジェクトに設定してから、デバッガーでc++プロジェクトを起動します。Webアプリケーションプロジェクトが実行されていなくても、asp.net開発サーバーが起動することに注意してください。
編集2:Webプロジェクトをデバッグするときにサーバーを起動するが、他の非Webプロジェクトをデバッグするときにサーバーを起動しないようにすることを明確にしました。