当前位置: 首页 > 知识库问答 >
问题:

C# 7.3 编译器是否包含在 .Net Framework 4.8 for asp.net 中?[重复]

邵凯定
2023-03-14

我很困惑。几年前,我安装了< code >微软。来自Github: Microsoft的CodeDom . providers . dotnetcompilerplate 。CodeDom . providers . dotnetcompilerplate

现在,我可以在我的 Asp.Net 站点中获取最新的 C# 编译器,独立于 .Net Framework 版本,只需在部署到生产服务器时包含包即可。

然而,今年夏天,情况发生了变化。如果我理解正确,.Net Framework 4.8版现在默认使用C#7.3。

我的问题是:这也适用于Asp.net?还是我仍然需要将编译器从Github部署到我的Web服务器?

.Net Framework 4.8中是否包含C#7.3编译器?

共有1个答案

栾钟展
2023-03-14

评论是错误的!

Asp.Net网站仍然使用C# 7.0编译器,尽管我已经用了。安装了Net 4.8!

我抓住机会,在我的一个网站(有问题的链接)上卸载了Github的“Roslyn”编译器。现在我在编译时遇到了很多错误。

错误示例(这是一个属性):

public bool IsReusable => false;

这在C# 7.0中不起作用。因此,我必须在我的网站上保留< code >“Roslyn”编译器,以获得C# 7.3

更新:

对于刚刚从Github安装了“Roslyn”编译器的任何人来说:您必须在Web.config中手动设置< code>langversion,如下所示:

  <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编译器。

 类似资料:
  • 问题内容: 好吧,标题是不言而喻的。我在编译有很多注释行的项目时想知道这一点。这有点愚蠢,因为jar文件不会增加太多(某些字节),但是我很好奇这是否会影响带有大量代码和注释的程序。 谢谢 问题答案: 它不会影响执行或性能(除非您注释了错误的语句:-) 但这 绝对 会影响可读性。没有理由(在生产中)使用大量注释掉的代码,版本控制是必经之路 另请参阅 此问题。 问题结束。

  • 问题内容: 当我说时,这是否包括permgen即从这些1024m中提取的还是单独的? 看着这个, 我认为它需要1024m,但是直到现在我仍然认为它们是分开的。 问题答案: 不,permGen空间是主堆之外的空间(后者通过Sun VM上的-Xmx限制)

  • 我有这个工作简单的dockerfile。来自openjdk: 8-jdk-alpine WORKDIR /data复制目标/*. jar,myapp.jar入口点["java","-jar",myapp.jar] 我在本地或管道中使用maven构建jar,然后使用它。罐子在这里。我见过很多例子在dockerfile中安装maven,而不是以前进行构建。这难道不是让图像变大了吗?这样做有好处吗?

  • 问题内容: 在关于反射的本教程中,它指出: […]因为泛型是通过类型擦除实现的,因此在编译过程中会删除有关泛型类型的所有信息 我的知识是使用泛型,以便在编译时编译器可以检查类型安全性。即失败快速方法。但是该链接提到类型擦除会在编译期间删除通用信息。 问题答案: 您引用的语句是正确的:编译器在编译过程中在内部使用通用类型信息,在处理源时会生成与类型相关的错误。然后,一旦完成验证,编译器将生成类型擦除

  • 我想开始在c#中开发,但是我使用Linux和VSCode进行开发,由于一些错误,我找不到答案,VSCode不运行代码,所以我决定借助这个链接(在linux终端上运行C#代码)来制作一个bash脚本来完成这部分代码: 到目前为止,我是这样做的: 它确实可以工作,但是我想让2美元(第二个参数)自动以1美元(第一个参数)命名,因此我不需要写2美元的值,只需写1美元创建一个同名的exe并用mono运行该e

  • 当试图将Irrlicht静态库包含到我的cmake项目中时,您出现了一个编译错误 我不明白为什么它说它找不到,尽管我已经包含了X11库。