2011-08-18 3 views
5

私はVisual Studio 2010を使用しており、単体テストを作成しています。ここでテストプロジェクトは、テスト中のプロジェクト内のオブジェクトを見つけることができません。

は一例です。

[TestMethod()] 
    [HostType("ASP.NET")] 
    [AspNetDevelopmentServerHost("C:\\Users\\Employee\\Documents\\Code Spaces\\shopvote2\\trunk\\Web", "/Web")] 
    [UrlToTest("http://localhost/Web")] 
    public void GetUserDetailsTest() 
    { 
     api_Accessor target = new api_Accessor(); // TODO: Initialize to an appropriate value 
     string username = string.Empty; // TODO: Initialize to an appropriate value 
     string passhash = string.Empty; // TODO: Initialize to an appropriate value 
     int requestID = 0; // TODO: Initialize to an appropriate value 
     ShoppingRequestDetailsData[] expected = null; // TODO: Initialize to an appropriate value 
     ShoppingRequestDetailsData[] actual; 
     actual = target.GetUserDetails(username, passhash, requestID); 
     Assert.AreEqual(expected, actual); 
     Assert.Inconclusive("Verify the correctness of this test method."); 
    } 

問題があり、それは言う:

型または名前空間名「ShoppingRequestDetailsData」(あなたがusingディレクティブまたはアセンブリ参照が不足している見つかりませんでした?)

暗黙的に変換できません型 'ShoppingWithFriends.ShoppingRequestDetailsData []'

'ShoppingRequestDetailsData []' にそれは、それが由来する名前空間を取得し、カスタムクラスを必要としないテストを実行できます。私に問題を引き起こしているのはこれだけです。

アイデア?

ありがとうございました。

+0

は 'ShoppingRequestDetailsData'公開ですか? –

+0

ええ、そのクラスはパブリックなので、すべてのクラスが – apexdodge

+0

にアクセスしようとしていますが、使用するディレクティブまたはアセンブリ参照がありませんか? – svick

答えて

5

チェックするためにいくつかのこと:

まず、私はあなたのプロジェクト内の参照をダブルチェックします - それは、プロジェクトの参照またはアセンブリ参照のですか?アセンブリ参照の場合は、正しいバージョンのファイルを参照していることを確認してください。 (たとえば、ディレクトリの名前を変更した場合は、古いディレクトリを指している可能性があります)。確かに、Reflectorのようなツールを使ってアセンブリを直接調べ、タイプが正しい名前空間にあることを確認してください。

第二に、

...など、私はこれがあなたの問題があるのか​​はわからないが、私は、型がパブリックた同じソリューション内のプロジェクトの参照があったものの、名前空間も見つかりませんでした同様の問題がありました

「対象フレームワーク」を「.NET Framework 4 Client Profile」ではなく「.NET Framework 4」に変更する必要があることが判明しました。私はなぜこれが "不明な名前空間"エラーになったのかわからなかったが、私の問題を解決した。

チェックするだけでカップルの事、それが役に立てば幸い...

ジョン

+0

あなたは私の日を保存しました....(y)thanks – KoolKabin

関連する問題