zoukankan      html  css  js  c++  java
  • 如何在ASP.NET 网站项目中使用C# 6?

    https://www.zhihu.com/question/48864375

    .NET框架版本是4.6.1,Visual Studio版本是2015,系统是Window 7,为什么在使用C# 6语法的时候得到如下提示?其他C# 6语法也是同样的问题。请问如何切换到C# 6?在Visual Studio里找不到设置的地方。项目类型是Web Forms网站,不像应用程序项目一样可以在【项目属性-生成-高级】下设置。


    造成这个问题的原因是微软没有为使用.NET Framework 4.6.1的 Empty Web Site模板创建的网站启用C# 6支持,而且“网站”不像“应用程序项目”一样可以在“项目属性-生成-高级”窗口中设置语言版本,所以当使用C# 6语法时,给出提示:
    功能“XXX”在C# 5中不可用。请使用语言版本6或更高版本。
    可以通过安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform程序包解决:
    Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform安装好这个程序包后,
    或者 nuget 安装 ,关键词 DotNetCompilerPlatform
    会自动在Web.config文件中的configuration节点下添加如下节点:
    <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>
    
    这时候C# 6便可以使用了。
    正常情况下应该没有问题了。不过,生成网站的时候,还可能会遇到另外一个问题,提示:
    未能找到文件“XXXin oslyncsc.exe”。
    出现这个问题可能是因为VS没有把Roslyn的编译器正确地放到网站Bin文件夹的roslyn文件夹中。这时候可以从Nuget程序包文件夹中复制Roslyn编译器到网站的Bin/roslyn文件夹中。Nuget程序包文件夹一般与.sln解决方案文件在同一个目录下。Roslyn编译器在Nuget文件夹中的路径是:
    packagesMicrosoft.Net.Compilers.1.0.0	ools
    
    把这个文件夹中的文件全部复制过去就行了。
     
  • 相关阅读:
    SQL 07: 外连接 (左连接和右连接查询)
    010 利用多线程使socket服务端可以与多个客户端同时通讯
    056 文件修改的两种方式
    009 模拟一个简单抢票小程序代码
    055 文件的高级应用
    054 with管理文件操作上下文
    008 通过开启子进程的方式实现套接字服务端可以并发的处理多个链接以及通讯循环(用到了subprocess模块,解决粘包问题)
    053 文件的三种打开模式
    052 绝对路径和相对路径
    051 基本的文件操作
  • 原文地址:https://www.cnblogs.com/simadi/p/6364678.html
Copyright © 2011-2022 走看看