从单元测试项目引用 Web 服务项目:项目不在列表中
问题:尝试从我的 VS 单元测试项目引用 .NET 2.0 Web 服务项目。
右键单击单元测试项目中的References文件夹-> 添加参考。 .NET 2.0 Web 服务未列在可供参考的项目列表框中。
我知道这个用例是可能的; 我之前曾成功地(在其他解决方案中)引用了 .NET 3.5 单元测试项目中的 .NET 3.5 Web 服务。
这个想法是对类中找到的所有公共方法以及我的 .asmx 进行单元测试。 我已将所有业务逻辑从 .asmx 文件本身抽象为 Web 服务项目子目录中的 .cs 文件。 因此这里的想法是测试执行业务逻辑的类、Web 服务本身(处理 HTTP 请求)。
配置:
- Visual Studio 2008
- VS .NET 3.5 兼容性的单元测试项目
- .NET 2.0 兼容性的 Web 服务项目
- 版本 9 的解决方案文件。
问题:有什么想法为什么选择 Visual Studio 2008不允许我从 .NET 3.5 单元测试项目引用 .NET 2.0 Web 服务吗?
Problem: Trying to reference a .NET 2.0 web service project from my VS unit testing project.
Right click on the References folder in the unit test project -> Add Reference.
The .NET 2.0 web service is NOT listed in the listbox of projects available to reference.
I know this usecase is possible; I have previously successfully referenced (in other solutions) a .NET 3.5 web service from a .NET 3.5 unit testing project.
The idea is to unit test all the public methods found in the classes alongside my .asmx. I have abstracted away all business logic away from the .asmx file itself into .cs files in a subdirectory in the web service project. So the idea here is to test the classes that perform the business logic, the web service itself (handling an HTTP request).
Configuration:
- Visual Studio 2008
- VS Unit testing project at .NET 3.5 compatibility
- Web service project at .NET 2.0 compatibility
- Solution file at version 9.
Question: Any ideas why Visual Studio 2008 won't let me reference a .NET 2.0 web serivce from a .NET 3.5 unit testing project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不可以。切勿直接引用 Web 服务项目。 您想要添加“Web 参考”。
No. Never make a reference directly to the web service project. You want to add a "Web Reference".
这个问题比之前描述的要狭窄一些。
最终结果是:
Web 服务项目实际上是一个具有单个 .asmx 文件的网站项目(!)。 我很惊讶地意识到这一点。 噢!
该项目是从头开始重新创建的,作为一个 Web 服务项目。 所有逻辑均已移至 John 在评论中的建议。
This question was a little more narrow that previously described.
The end result was that:
the web services project was actually a Web Site Project (!) with a single .asmx file. I was stunned to make that realization. Doh!
The project was re-created from scratch as a Web Service Project. All the logic was moved to an external assembly on John's advice in the comments.