2009-07-21 6 views
1

問題:私のVSユニットテストプロジェクトから.NET 2.0 Webサービスプロジェクトを参照しようとしています。ユニットテストプロジェクトからWebサービスプロジェクトを参照しています:プロジェクトがリストにありません

ユニットテストプロジェクトの[参照設定]フォルダを右クリックし、[参照の追加]をクリックします。 .NET 2.0 Webサービスは、参照可能なプロジェクトのリストボックスには表示されません。

私はこの用途が可能であることを知っています。私は以前、.NET 3.5ユニットテストプロジェクトから.NET 3.5 Webサービスを(他のソリューションでは)正常に参照しました。

アイデアは、クラス内のすべてのパブリックメソッドを私の.asmxとともにユニットテストすることです。私は、.asmxファイルからWebサービスプロジェクトのサブディレクトリにある.csファイルにすべてのビジネスロジックを抽象化しました。したがって、ビジネスロジックを実行するクラス、つまりWebサービス自体(HTTP要求を処理する)をテストすることです。

設定:.NET 3.5バージョン9で.NET 2.0の互換性

  • ソリューションファイルの互換性
  • Webサービスプロジェクトで

    • のVisual Studio 2008の
    • VSユニットテストプロジェクト

    質問:Visual Studio 2008で.NET 3.5ユニットテストプロジェクトから.NET 2.0 Webサービスを参照できないようなアイデアはありますか?

  • 答えて

    1

    この質問は、先に説明したように少し狭いです。 (!)

    • は、Webサービスプロジェクトが単一の.asmxファイルとWebサイトプロジェクトが実際にだった:

      最終的な結果は、ということでした。私はその実現を実現するために驚いた。ドー!

    • プロジェクトは、Webサービスプロジェクトとして最初から再作成されました。すべてのロジックがJohn's advice in the commentsの外部アセンブリに移動されました。

    1

    いいえ、Webサービスプロジェクトに直接参照しないでください。あなたは "Web Reference"を追加します。

    +0

    ジョンさん、ありがとうございました。私はしばしば、あなたの答えをすべて知っており、感謝しています。ここでのキッカーは、私がこれまでv3.5のソリューションに直接参照してきたことです。完全に動作します!ユニットテストアセンブリは、Webサービスのクラスとパブリックメソッドを呼び出す必要があります。 Webサービスアセンブリのビジネスレイヤを直接参照するアイデアに反しているように思えます。私は理由を聞くことに興味があるでしょう。ありがとう! –

    +3

    ビジネスレイヤーがWebサービスアセンブリに属していません。そこに所属する唯一のものはサービスです。残りは別々のアセンブリでなければならず、もちろんテスト可能でなければなりません。 –

    関連する問題