首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当.net框架设置为4.6.2时,无法在visual中识别字符串内插

当.net框架设置为4.6.2时,无法在visual中识别字符串内插
EN

Stack Overflow用户
提问于 2022-10-27 01:56:09
回答 1查看 94关注 0票数 -1

这是一个带有asp.net框架4.6.2的.net网站项目,C#语言级别设置为6.0。在Visual 2022中开发代码时,无法识别下面的代码。

Console.WriteLine($"Hello {name}");

既然字符串内插是C# 6中引入的一种新特性,而且我们的项目中的语言级别总是设置在C# 6中,那么为什么语法仍然无法识别呢?

之后,我用Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -Version 3.6.0在Nuget控制台中运行命令,问题就解决了。

为什么以前不使用C# 6呢?DotNetCompilerPlatform是如何使它工作的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-31 13:17:44

最后,我得到它,并与你分享它,谁也可能有同样的问题。

.Net Framework4.6.2已经支持C# 6语法,包括字符串内插。

如果它是一个控制台应用程序,默认情况下,它将使用.Net Framework4.6.2的compier(Roslyn),后者已经支持C# 6,一切都很好。但是,如果它是一个asp.net网站项目,因为C#代码不是在VisualStudio中编译的,而是在它收到第一个http请求时在IIS中编译的。默认情况下,IIS不会使用Roslyn编译网站。因此,我们需要告诉IIS使用特定的编译器来支持C#6。

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -Version 3.6.0

当我们在视频工作室中编写asp.net网站的C#代码时,它可能也有类似的机制,因此它显示红波线来判断错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74215952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档