【问题标题】:Where to configure Razor page language version to C# 6?在哪里将 Razor 页面语言版本配置为 C# 6?
【发布时间】:2015-08-14 14:05:45
【问题描述】:

最近我尝试在我的 ASP.NET MVC (5) .cshtml 视图中使用一些 C# 6 新功能(内插字符串),但在运行时收到一条错误消息,抱怨 $。很明显,C# 5 兼容模式下的编译器,或者最糟糕的是它一个 C# 5 编译器。

当在编辑器中弹出警告警告我(我不知道它是 VS 还是 ReSharper)Feature 'Interpolated strings' is not available in C# 5. Please use language version 6 or greater.

项目本身设置为 C# 6,我可以在构建时编译的代码中使用 C# 6 功能,例如控制器等。

问:我应该在哪里设置页面编译器版本,当我在那里将我的 Web 应用程序部署到 Azure 时,这个 C# 6 编译器是否可用?

【问题讨论】:

标签: c# asp.net-mvc azure razor


【解决方案1】:

来自String interpolation in a Razor view?

这仅适用于 MVC6。或者,也可以从此链接的评论中添加来自 ASP.Net 的 roslyn 代码 dom 包。

<div>
    @($"Hello {this.Model.SomeProperty}")
</div>

就 Azure 而言,请参阅此链接。 http://azure.microsoft.com/blog/2015/08/11/update-on-net-framework-4-6-and-azure/

强大的力量……工具、框架和 Azure 平台团队想要 确保我们为您提供帮助您实现梦想的强大工具 与我们认识到我们必须保持运行的责任相匹配 在云端。在 Visual Studio 和 Azure SDK 2.7 的时候 版本中,框架 4.6 并未在整个 Azure 中得到广泛支持。 这在很大程度上是由于同样多的团队(或 更多)负责的持续发展和稳定 Azure 平台。

目前,我们有关于 .NET Framework 4.6 可用性的更新 用于 Azure 应用服务和一篇演示如何获取 .NET 的文章 框架 4.6 在您的云服务角色中工作。

Azure IaaS 对于使用 Azure 基础架构即服务的客户 (IaaS) 服务,.NET Framework 4.6 的安装是手动的。到 在 Azure IaaS 虚拟机上安装 .NET Framework 4.6, 过程就像使用远程登录虚拟机一样简单 桌面。一旦在机器上,.NET Framework 4.6 安装程序可以 下载并直接安装到虚拟机上。顾客 使用 Azure 自动化也可以选择自动化安装 使用 PowerShell 到 Azure 虚拟机上。

Azure 应用服务 更新 Azure App Service 团队即将结束 .NET Framework 4.6 的测试阶段和计划 部署到环境。目前,计划是推出 2015 年 8 月对 Azure 应用服务的更新。

Azure 云服务 Saurabh Bhatia 在 Azure 中撰写了一篇文章 文档中心概述了如何将 .NET Framework 安装在 云服务角色。内容最近已更新,包括 特定于 .NET Framework 4.6 的评论。你可以找到更新的 Azure 文档中心的文章。

【讨论】:

  • 谢谢。阅读您引用的链接。虽然我知道 Razor 在标记和 C# 之间的直观切换不能与 $ 无缝协作,但我认为编译器版本与此无关,这就是我在问题中措辞的原因。一旦 Razor 识别出它是 C#,它就会转到生成的 C# 类。然后它完全取决于它理解或给出错误的配置编译器。
  • 我主要关心的是 IIS 和 Azure。
  • 更新了答案,包含 .Net 4.6 和 Azure 上的链接
【解决方案2】:

对我来说,安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 包解决了这个问题。

【讨论】:

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