1

いくつかのプロジェクトを含むソリューションがあります。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:この動作を再現するには:

  1. vs2010を使用して、空のソリューションを作成します。
  2. すべてのデフォルトを受け入れるC++コンソールアプリケーションを追加します。fgetchar()生成されたに呼び出しを追加して、main()実行時にすぐに終了しないようにします。
  3. デバッガーでプロジェクトを実行し、asp.net開発サーバーが起動しないことに注意してください。
  4. asp.net Webアプリケーションプロジェクトをソリューションに追加し、すべてのデフォルトを受け入れます。プロジェクトのプロパティのWebタブに移動し、asp.net開発サーバーを使用するように構成されていることを確認します。
  5. c ++コンソールアプリケーションをスタートアッププロジェクトに設定してから、デバッガーでc++プロジェクトを起動します。Webアプリケーションプロジェクトが実行されていなくても、asp.net開発サーバーが起動することに注意してください。

編集2:Webプロジェクトをデバッグするときにサーバーを起動するが、他の非Webプロジェクトをデバッグするときにサーバーを起動しないようにすることを明確にしました。

4

2 に答える 2

2

私には自分に合った解決策があります。

Webプロジェクトには、Webプロジェクト自体がデバッグされていない場合でも、デバッガーの起動時にasp.net開発サーバーを起動するかどうかを制御するプロパティがあるようです。

このプロパティを変更するには、ソリューションエクスプローラーでWebプロジェクトを選択し、F4キーを押してプロパティグリッドにアクセスします。グリッドの「開発サーバー」という見出しの下には、「デバッグ時に常に開始」という名前のブール型プロパティがあります。デフォルト値はtrueです。

このプロパティをfalseに設定すると、Web以外のアプリケーションプロジェクトをデバッグしたときにasp.net開発サーバーが起動しなくなりました。

<ProjName>.csproj.userプロパティは、ではなく、で永続化され<ProjName>.csprojます。

于 2013-01-23T17:25:47.680 に答える
0

Webプロジェクトのプロパティで、[Web]タブの下で、起動動作を[カスタムWebサーバーを使用する]に変更できます。これにより、VSがIISまたはASP.NETDevサーバーインスタンスを呼び出すのを停止します。

于 2013-01-23T10:32:46.843 に答える