在ASP.NET MVC Core项目中使用View内部的C#7功能
我已经找到了与此相关的其他问题,但似乎没有一个我正在寻找的东西.
我有一个在ASP.NET Core上运行的网站,其中包含VS2017中的新项目结构.使用C#7的代码文件功能编译正常.但是,尝试在View中使用这些功能会导致一系列有关语法的错误.我尝试安装Roslyn以便在编译视图时使用它,因为我可以告诉我,Roslyn nuget包2.x及更高版本中提供了C#7功能.但现在我得到明确说明的反馈
在过去,我会检查web.config,但是在ASP.NET核心项目中没有web.config,而是根目录中的几乎空的,用于处理来自IIS的请求. 我如何表明我的视图应该用Roslyn编译,因为直到运行时才能完成?至少我认为这会解决我的问题. 编辑: 解: 对于任何感兴趣的人,您必须将Roslyn添加到您的项目中(我知道),但您还必须配置RazorViewEngineOptions以使用指示语言版本的CSharpParSEOptions(默认值为6).我做过这个,但我做得不对.我需要将WithLanguageVersion()的结果分配回ParSEOptions的顶部以替换它们. services.AddMvc().AddRazorOptions(options => options.ParSEOptions = options.ParSEOptions.WithLanguageVersion(LanguageVersion.CSharp7)); 解决方法
你可以尝试以下(由ASP.NET核心团队的人推荐):
>安装Microsoft.CodeAnalysis.CSharp(版本2.0.0)和System.ValueTuple(版本4.3.0)包 services.AddMvc().AddRazorOptions(options => options.ParSEOptions = new CSharpParSEOptions(LanguageVersion.CSharp7)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在foreach中的mvc radiobuttons
- Asp.Net MVC动态模型绑定前缀
- asp.net – ASP反请求伪造,为什么黑客不会先获取?
- asp.net-mvc – 基于Microsoft.AspNet.Identity角色的Googl
- asp.net – 如何在VB.NET中JSON编码数组?
- 在Mvc asp.net中获取选中的复选框值
- asp.net – 我们如何使用通用处理程序加载usercontrol?
- asp.net – 转换为VS 2015.1中的Web应用程序
- asp.net-mvc – 在ASP.NET MVC 3中使用WebGrid显示原始HTML
- asp.net – 使用Model-View-Presenter模式重定向页面的最正
- 如何使用Castle Windsor与ASP.Net Web表单?
- 判断应用程序是ASP.NET 1.1还是ASP.NET 2.0的方法
- asp.net-mvc – 为什么IIS / ASP.Net / MVC3将ma
- ASP.NET数据从代码隐藏双向双向绑定
- asp.net-mvc – 如何将MVC 5 IdentityModels.cs移
- asp.net – 让Visual Studios使用子域名?
- asp.net-mvc – 如何在ASP.NET MVC部分视图中使用
- 如何在页面视图或按钮单击之间增加ASP.NET(C#)中
- asp.net-mvc-4 – 无法解析类型名称:Glass.Mapp
- 我可以这样修改ASP.NET会话对象吗?