我已经安装了Compilers和System.ValueTuple:
我的观点模型是:
@model IEnumerable<GHCOMvc.Models.PriorAddressModel>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Address.Address)
</th>
</tr>
</table>
并且一切正常。
当我把它更改为:
@using GHCOMvc.Controllers
@model (IEnumerable<GHCOMvc.Models.PriorAddressModel> List, BaseController.Modes mode)
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Address.Address)
</th>
</tr>
</table>
它给出了错误:
错误CS8059功能&#39;元组&#39;在C#6中不可用。请使用 语言版本7或更高。
这不是一个核心项目,所以我还没有Startup.cs文件。我可以添加一个来解决问题,但我不清楚如何做到这一点,因为这不是一个核心项目。
答案 0 :(得分:1)
从Microsoft.CodeDom.Providers.DotNetCompilerPlatform
更新到1.0.4
1.0.3
为我解决了这个问题:
注意我必须手动编辑csproj文件,以便在我执行此操作后删除对1.0.3
的引用,以使其构建。
然后,在我看来,我可以这样做:
@model (IEnumerable<GHCOMvc.Models.PriorAddressModel> list, BaseController.Modes mode)
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.list.FirstOrDefault().Address.Address)
</th>
</tr>
</table>
答案 1 :(得分:0)
我不知道你的具体问题,但是在编译剃刀文件之前我已经遇到了类似问题。检查目标框架。请记住,razor是在部署之后编译的。我敢打赌,如果你修改目标框架,你会看到你的问题得到解决。