首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.net核心2.1测试应用编程接口控制器缺少AspNetCore.Mvc引用

.net核心2.1测试应用编程接口控制器缺少AspNetCore.Mvc引用
EN

Stack Overflow用户
提问于 2018-07-30 05:31:06
回答 1查看 1.1K关注 0票数 2

我正在尝试使用this MS doc的.net核心2.1来测试一个API控制器。

我的代码看起来像这样

代码语言:javascript
复制
    [Fact]
    public async Task ShouldReturnOkWithHealthBackend()
    {
        var apiConsumerService = new Mock<IApiConsumerService>();
        apiConsumerService.Setup(m => m.Consume()).Returns(Task.FromResult(true));

        var controller = new HealthController(apiConsumerService.Object);

        await controller.GetHealth();
    }

在执行await控制器方法调用时,我遇到了"Assembly not referenced error“错误。

我可以添加

代码语言:javascript
复制
using Microsoft.AspNetCore.Mvc;

但是VS说AspNetCore在微软的命名空间中并不存在。

Intellisense建议我添加一些引用,但这也不起作用。

但是点击它什么也不做。我还尝试使用csproj文件,看看是否可以强制加载这些程序集,但仍然没有成功。

我已经使用XUnit模板和一个自定义的NUnit项目进行了测试,结果相同。

我的来自API和测试项目的csproj是

我需要创建什么样的项目来测试像MS文档中那样的控制器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 07:07:26

我注意到您并没有将包含控制器的项目绑定到某个版本,而应该使用以下元素进行绑定。

代码语言:javascript
复制
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />

你错过了版本!

细节是问题的关键。如果在更新此元素后出现不同的编译错误,则已解决此问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51584727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档