在Razor视图中缺少程序集引用

时间:2017-03-27 21:59:16

标签: asp.net asp.net-mvc razor asp.net-core

我有一个MVC应用程序,在为我的API控制器返回JSON时工作正常。我添加了一个应该返回剃刀视图的控制器,但是在尝试加载页面时我收到以下错误:

  

缺少一个或多个编译引用。可能的原因   包括一个缺失的' preserveCompilationContext'财产   ' buildOptions'在应用程序的project.json。

中      

类型或命名空间名称' DevTestViewModel'名称空间中不存在MyApp.Api.Models' (你错过了一个集会吗?   引用?)

我已将我的观点简化为:

@model List<MyApp.Api.Models.DevTestViewModel>

<h1>Hello World</h1>

我的模特课是:

namespace MyApp.Api.Models {
    public class DevTestViewModel {

        public int Id { get; set; }

        public string Name { get; set; }

    }
}

我尝试添加_ViewImports.cshtml:

@using MyApp.Api

我也遵循错误中的建议并在我的project.json中设置了preserveCompilationContext,但它没有任何区别:

"buildOptions": {
  "emitEntryPoint": true,
  "preserveCompilationContext": true
},

在本地调试时工作正常。只有在我发布到Azure后,我才会遇到问题。不知道我错过了什么。

2 个答案:

答案 0 :(得分:1)

看起来Azure的部署存在问题。在Azure中重新创建Web应用程序,然后重新部署修复此问题。

答案 1 :(得分:0)

nuget安装Microsoft.AspNetCore版本1.1.1