【发布时间】: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