测试项目在测试的项目中找不到对象
我正在使用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 []'
它从中获取名称空间,并且可以运行不需要自定义类的测试。只有这些导致我的问题。
任何想法?
谢谢。
检查有几件事情:
首先,我会仔细检查项目中的参考 - 它是一个项目引用或程序集引用?如果它是一个程序集引用,你确定它指向了正确的文件版本吗? (例如,如果您重命名目录,可能是指向旧目录)。可以肯定的是,使用像Reflector这样的工具直接检查程序集并确保类型在正确的名称空间中。
其次,我不知道如果这是你的问题,但我也有类似的问题,即虽然有在同一个解决方案项目引用一个命名空间甚至没有被发现,类型为市民等。
事实证明,我需要将“目标框架”更改为“.NET Framework 4”,而不是“.NET Framework 4客户端配置文件”。我没有想到为什么会导致“未知的命名空间”错误,但它解决了我的问题。
只是一对夫妇的事情来检查,希望它可以帮助...
约翰
你救了我的一天....(y)谢谢 – KoolKabin
是'ShoppingRequestDetailsData'公众? –
是的,那个班级是公开的,所以我所有的班级都试图访问 – apexdodge
“你是否缺少使用指令或程序集引用?” – svick