本文介绍了如何在网站项目类型中使用 C# 6?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新了现有的网站项目类型 Visual Studio 2015,我将框架更改为 4.6.

Updated an existing Web Site project type Visual Studio 2015, I changed the Framework to 4.6.

然后我希望在我的代码隐藏文件中提供所有这些新功能.

I then expected to have all those new features available in my code behind files.

不幸的是,我收到如下错误:

Unfortunately I'm getting errors like:

错误 CS8026:功能表达式主体属性"在 C# 5 中不可用.请使用语言版本 6 或更高版本.

或例如:

错误 CS8026:功能内插字符串"在 C# 5 中不可用.请使用语言版本 6 或更高版本.

我在 Google 上进行了快速检查,发现 一个人在 ScottGu 的博文中发表了一些评论(在页面上搜索8026").

I did a quick Google check and found a guy posting some comments in a blog posting of ScottGu (search for "8026" on the page).

由于我不理解他的解决方案,而且我想让解决方案更加明显,所以我创建了这个 SO 帖子.

Since I do not understand his solution, plus I want to have the solution more visible, I've created this SO posting.

我的问题:

如何让 Web 站点(即不是 Web 应用程序)类型的 Visual Studio 2015 项目识别 C# 6 功能?

How can I have a Visual Studio 2015 project of type Web Site (i.e. not Web Application) to recognize C# 6 features?

推荐答案

我已经用 ASP.NET MVC 5 测试过这个(测试 5.2.3),你的里程可能会因其他 web 框架而异,但你只需要添加 Roslyn CodeDOM|NuGet

I've tested this with ASP.NET MVC 5 (tested 5.2.3), and your mileage may vary with other web frameworks, but you just need to add the Roslyn CodeDOM| NuGet package

使用新的 .NET 编译器平台(Roslyn")编译器作为服务 API 的替换 CodeDOM 提供程序.这为使用 CodeDOM 的系统(例如 ASP.NET 运行时编译)中的新语言功能提供支持,并提高这些系统的编译性能.

PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

NuGet 包应添加 DLL 文件并将以下内容添加到您的 web.config.

The NuGet package should add the DLL files and add the following to your web.config.

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=&quot;Web&quot; /optionInfer+" />
    </compilers>
  </system.codedom>

如果它仍然丢失.尝试添加自己.

If it's still missing. Try adding yourself.

这篇关于如何在网站项目类型中使用 C# 6?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 19:18
查看更多