c# - .Net Framework 4.8 for asp.net 中是否包含 C# 7.3 编译器?
问题描述
我很困惑。几年前我Microsoft.CodeDom.Providers.DotNetCompilerPlatform
从 Github 安装:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
现在我可以C# compiler
在我的 Asp.Net 站点中获得最新的,独立于 .Net Framework 版本,只需在部署到生产服务器时包含该包即可。
然而,今年夏天情况发生了变化。如果我理解正确的话,.Net Framework 4.8 版现在默认使用 C# 7.3。
我的问题是:这也适用于 Asp.net 吗?还是我还需要将编译器从 Github 部署到我的 Web 服务器?
.Net Framework 4.8 中是否包含 C# 7.3 编译器?
解决方案
评论有误!
尽管我安装了 .Net 4.8,但 Asp.Net 网站仍然使用 C# 7.0 编译器!
我借此机会在我的一个网站(有问题的链接)上从 Github 上卸载了“Roslyn”编译器。现在我在编译时遇到了很多错误。
错误示例(这是一个属性):
public bool IsReusable => false;
这在 C# 7.0 中不起作用。所以我必须'Roslyn'
在我的网站上保留编译器才能获得 C# 7.3
更新:
对于刚刚从 Github 安装“Roslyn”编译器的任何人:您必须langversion
在 Web.config 中手动设置,如下所示:
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:7.3 /nowarn:1659;1699;1701" />
现在 asp.net 将使用 C# 7.3 编译器。
推荐阅读
- c# - 如何将多个剃刀文本框值连接到单个属性值
- php - 将 S3 预签名 URL 与 VichUploader 一起使用
- java - 如何使用Socket将消息从Android发送到Windows中的python应用程序
- java - 在 java 项目中仅使用一小部分功能时,我可以减小 openCV 库的大小吗?
- c# - 基于角色的授权身份 API - 注册不起作用
- angular - 将对象推送到可观察订阅中的数组中
- javascript - 在这个 prop 函数中设置参数在哪里?
- gdb - 无法再调试我的 STM32 CubeIDE 项目 - 但代码在没有 j-link 的情况下工作
- angular - 如何为 mat-sidenav-content 设置固定高度?
- php - 在 Windows 上为多个 php 站点配置 Nginx