在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 – ASP.NET MVC:在回发上更改模型的属性
- asp.net-web-api – OAuthBearerAuthenticationMiddleware
- 验证 – 如何强制MVC验证IValidatableObject
- 如何使用Castle Windsor与ASP.Net Web表单?
- 如何在ASP.NET中跟踪完成的文件下载
- MVC/ASP.NET设计模板
- asp.net – Mocking HttpContext不起作用
- 可以使用ASP.NET路由为.ashx(IHttpHander)处理程序创建“干
- ASP.NET WSAT(网站管理工具)和自定义成员资格提供程序
- .net – IDictionary到SelectList?
