繁体   English   中英

如何在 ASP.net 网站中使用更新的语言功能?

[英]How to use newer language features in an ASP.net website?

我正在尝试在我的 asp.net 网站中使用本地 function:

public class Handler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        Int32 Seven()
        {
            return 7;
        }
    }
}

但我得到一个编译时错误:

CS8026 功能“本地功能”在 C# 5 中不可用。请使用 7.0 或更高版本的语言。

那好吧。

如何在 ASP.net 网站中使用语言版本 7.0 或更高版本?

似乎每个人都知道如何将ASP.net Web 应用程序升级到更新版本的 C#。 但是如何将ASP.net 网站升级到更新版本的 C#?

一个人建议进入你的项目的属性 忘记网站没有项目(同样,那是 web 应用程序)。

其他人建议在您的web.config添加魔法货物崇拜编程

<system.codedom>
  <compilers>
    <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:default /nowarn:1659;1699;1701" />
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
  </compilers>
</system.codedom>

除了只会导致更多的编译时错误:

找不到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。

其他人建议您安装一些东西Microsoft.CodeDom.Providers.DotNetCompilerPlatform ); 除了他没有解释那是什么,或者如何安装它。

别再瞎折腾了

所以这就是足够的谷歌搜索,随机尝试导致更多问题的半答案。 是时候得到答案了。

在 ASP.net 网站中使用 C# 8 的正确、完整、实际、设计、支持和预期方式是什么?

奖金:

-

将目标框架更改为 4.8 应该可以获得 C# 7.3 功能。 C# 特性标准化,与框架版本对应。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM