0

1 つは asp.net で、もう 1 つは Silverlight ソリューションです。どちらも私のローカルサーバーでホストされています。私が必要とするのは、2つのソリューションを同時にデバッグすることです.aspソリューションには、そのようなコードを含むページがあります

<iframe src="http://localhost/UI_RegInc/UI_RegInc.aspx?UserId=<%=UserId%>"
    frameborder="0" height="620" scrolling="no" width="1000" marginheight="0" marginwidth="0">
</iframe>

ここで、UI_RegInc Silverlight アプリケーションを呼び出しています。UI_RegInc.aspx ページは、デバッグする Silverlight アプリケーションを呼び出しています。私が試したのは、asp アプリケーションを起動することでした。次に、VS の別のインスタンスで Silverlight アプリケーションを起動します。これは UI_RegInc であり、このインスタンスでは、asp アプリケーションを使用して iexplorer プロセスにアタッチしようとしています。しかし、肯定的な結果は得られません。また、webdev プロセスにアタッチしようとしました。面倒な説明ですが、ご理解いただければ幸いです。

4

2 に答える 2

1

ASP.NET と Silverlight プロジェクトを共通のソリューションに追加すると、Web サイト プロジェクトのデバッグ中に、Visual Studio デバッガーが Silverlight アプリケーションに自動的にアタッチされます。Visual Studio の 2 つの個別のインスタンスを同じ Internet Explorer インスタンスに接続することはできないため、両方を同じソリューションに追加して、そこからデバッグする必要があります。

Silverlight プロジェクトを既存の ASP.NET ソリューションに追加するか (ソリューションを右クリックし、[追加] -> [既存のプロジェクト])、両方を同時にデバッグする場合に備えて新しいソリューションを作成します (新しい空のソリューションを作成し、以前と同じ既存のプロジェクト)。

その後、すべてを段階的に構成するプロセスを次に示します。このソース ファイルは、次の場所からテスト ソリューションにダウンロードできます。

http://www.singulink.com/ClientFiles/StackOverflow/CrossProjectTest.zip

プロジェクトは次のとおりです。

  • CrossProjectTest - Silverlight 4 プロジェクト
  • CrossProjectTest.Web - Index.html 内で Silverlight アプリケーションをホストする ASP.NET プロジェクト
  • IFrameWebApp -<iframe>他の ASP.NET プロジェクトの Index.html を指す ASP.NET プロジェクト

1) Silverlight アプリケーションをホストしている ASP.NET プロジェクトで、デバッグ時にページを開かないように設定を変更し、ポートを指定して、既知のアドレス (この場合はhttp://localhost:18000)。IFrame ASP.NET プロジェクトには表示したい実際のページがあるため、ページを開く必要はありません。ただし、デバッガーを Web サーバー プロセスにフックする必要はありますが、ここでステップ 3 を実行します。

ポートの設定とアクションの開始

2)次のように、他の ASP.NET プロジェクトで Silverlight アプリケーションをホストするページの既知のアドレスで、IFrame プロジェクト内のsrc属性をポイントします。iframe

<iframe width="100%" height="100%" src="http://localhost:18000/Index.html"></iframe>

3)ソリューションファイルを右クリックし、 [プロパティ] を選択します。「スタートアップ プロジェクト」の下で、「複数のスタートアップ プロジェクト」を選択し、両方の ASP.NET プロジェクトの開始アクションを「開始」に設定します。

複数のスタートアップ プロジェクトの設定

4) 両方の ASP.NET プロジェクト、特にこの特定のシナリオの IFrame プロジェクト内で Silverlight デバッグが有効になっていることを確認します。

ここに画像の説明を入力

5) Silverlight アプリケーションにブレークポイントを設定し、F5 キーを押すと、すべてが起動します。両方の ASP.NET プロジェクトを開始するように設定したため、両方の開発 Web サーバーが起動しますが、IFrame プロジェクトを指す 1 つのインターネット ブラウザーのみが起動します。Silverlight プロジェクトの App Startup にブレークポイントを追加して、ヒットすることを示しました。

ここに画像の説明を入力

6) F5 キーを押して実行を続行すると、次のように Silverlight が IFrame に表示されます。

ここに画像の説明を入力

7) 3 つのプロジェクトのいずれかにブレークポイントを配置すると、Visual Studio ですべてのプロジェクトがデバッグされます。

于 2012-10-19T11:07:38.320 に答える
0

Silverlight アプリケーションをホストする Web プロジェクトで Silverlight を確認する必要があります。

ここに画像の説明を入力

于 2012-10-19T11:13:50.413 に答える