【问题标题】:Missing assembly reference in Razor viewRazor 视图中缺少程序集引用
【发布时间】:2017-08-20 19:07:21
【问题描述】:

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

缺少一个或多个编译参考。可能的原因 在下包含缺少的“preserveCompilationContext”属性 应用程序的 project.json 中的“buildOptions”。

命名空间“MyApp.Api.Models”中不存在类型或命名空间名称“DevTestViewModel”(您是否缺少程序集 参考?)

我已将我的观点简化为:

@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 时,我才遇到问题。不知道我错过了什么。

【问题讨论】:

  • project.json 文件在 .Net Core Visual Studio 2017 中不再存在。问题可能已在新版本中得到解决。
  • @Win 不幸的是,升级到 VS 2017 目前不是一个选项。我怀疑我的问题是框架的问题,因为我无法通过模型获得任何视图来工作。我很确定我一定是遗漏了一些简单的东西,只是不知道去哪里找。
  • 我已经设法更新到 VS 2017 并且仍然遇到同样的问题。

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


【解决方案1】:

nuget 安装 Microsoft.AspNetCore 版本 1.1.1

【讨论】:

    【解决方案2】:

    部署到 Azure 时似乎存在问题。在 Azure 中重新创建 Web 应用程序,然后重新部署解决了该问题。

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多