草庐IT

关于 Visual Studio:在 VS 2015 社区版中将 .Net 框架从 4.5.2 更改为 4.5 时出现编译错误

codeneng 2023-03-28 原文

Compilation Error when change .Net framework from 4.5.2 to 4.5 in VS 2015 Community edition

在 VS 2015 社区版中将我的 .Net 框架从 4.5.2 更改为 4.5 之后。我收到以下错误。有谁知道问题是什么以及如何解决这个问题。看起来编译版本不同,但我已经将我的 web.config 修改为 4.5

Server Error in '/' Application.

Compilation Error Description: An error occurred during the
compilation of a resource required to service this request. Please
review the following specific error details and modify your source
code appropriately.

Compiler Error Message: CS1617: Invalid option '6' for /langversion;
must be ISO-1, ISO-2, 3, 4, 5 or Default

Source Error:

[No relevant source lines]

Source File: Line: 0

Show Detailed Compiler Output:

C:\\Program Files (x86)\\IIS Express>
"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe" /t:library
/utf8output /R:"C:\\Users\\admin\\AppData\\Local\\Temp\\Temporary ASP.NET
Files\
oot\\479d40ee\\add72695\\assembly\\dl3\\31bb6ea7\\6a8168a8_dae8d001\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"
/R:"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Configuration\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Configuration.dll"
/R:"C:\\WINDOWS...................

Microsoft (R) Visual C# Compiler version 4.6.0079.0

for C# 5 Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework,
but only supports language versions up to C# 5, which is no longer the
latest version. For compilers that support newer versions of the C#
programming language, see
http://go.microsoft.com/fwlink/?LinkID=533240

error CS1617: Invalid option '6' for /langversion; must be ISO-1,
ISO-2, 3, 4, 5 or Default

  • Microsoft 链接将我重定向到 dotnet / roslyn GitHub 页面。我不知道它是什么
  • roslyn 是一个新的 .Net 编译器,它是跨平台的(除了 windows 还可以在 Mac 和 linux 上工作)


我回答我的问题只是为了让其他用户知道解决方案是什么。经过一些谷歌搜索和个人研究。所以我正好做了两件事。

  • 转到每个项目属性 -> 构建 -> 高级并更改
    语言版本到 C# 5.0
  • 打开启动项目的 web.config(在我的例子中是 MVC)并删除
    包含自定义编译信息的 codedom 部分

这解决了我的问题。

  • 我在 Visual Studio 2015 试用版中启动的 MVC 项目中遇到了这个问题。此修复程序为我解决了它。
  • 对我没有帮助,但它立即帮助将 web.config 中的 langversion 从 6 更改为 5:stackoverflow.com/questions/32380064/...
  • 链接已失效。
  • 糟糕的解决方案 :-( 项目正在使用 C# 6 => 你的解决方案 "downgrade to C#5"


Visual Studio 2015 中的 C# 是 C# 6.0,但是您收到的错误消息来自 ASP.NET 编译器(不是 Visual Studio 编译器),通知您 C# 6.0 不可用,只有 C# 最新版本5,所以不是版本 6。

我怀疑此错误消息来自您的虚拟主机提供商,这意味着他们尚未在其系统上安装最新版本的 .NET Framework,您需要在您的系统中降级 C# 语言编译选项web.config 恢复到以前的状态,并避免在运行时编译的代码中使用任何 C# 6.0 语言功能。如果依赖任何新的 CLR 指令,我不知道在 .NET 4.5.0 环境中运行 C# 6.0 语言功能会有什么影响。

更新:

或者,确保您使用的是最新版本的 Microsoft.Net.Compilers NuGet 包,这会导致在部署时将最新版本的 csc 与您的项目捆绑在一起,因此它将支持 C# 6、7 , 8 等

  • 几分钟前它还在工作。我只是在 VS 2015 中将版本从 4.5.2 更改为 4.5,我开始收到此错误


这个解决方案也对我有用。
窗口 10
视觉工作室 2013
.Net 框架 4.5

转到每个项目属性 -> 构建 -> 高级并将语言版本更改为 C# 5.0
打开启动项目的 web.config(在我的例子中是 MVC)并删除包含自定义编译信息的 codedom 部分
这解决了我的问题。


我正面临着使用 MSBuild 的同一栋建筑,以下帮助了我:

在 Visual Studio > 选择您的项目 > 右键单击?? > 属性 > 库 > 目标 > 更改 > .Net Framework 4.6

这个链接帮助了我

有关关于 Visual Studio:在 VS 2015 社区版中将 .Net 框架从 4.5.2 更改为 4.5 时出现编译错误的更多相关文章

  1. ruby-on-rails - 在 Rails 中将文件大小字符串转换为等效千字节 - 2

    我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  4. ruby-on-rails - Railstutorial : db:populate vs. 工厂女孩 - 2

    在railstutorial中,作者为什么选择使用这个(代码list10.25):http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-usersnamespace:dbdodesc"Filldatabasewithsampledata"task:populate=>:environmentdoRake::Task['db:reset'].invokeUser.create!(:name=>"ExampleUser",:email=>"example@railstutorial.org",:passwo

  5. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  6. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  7. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  8. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  9. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  10. ruby - 使用 postgres.app 在 rvm 下要求 pg 时出错 - 2

    我正在使用Postgres.app在OSX(10.8.3)上。我已经修改了我的PATH,以便应用程序的bin文件夹位于所有其他文件夹之前。Rammy:~phrogz$whichpg_config/Applications/Postgres.app/Contents/MacOS/bin/pg_config我已经安装了rvm并且可以毫无错误地安装pggem,但是当我需要它时我得到一个错误:Rammy:~phrogz$gem-v1.8.25Rammy:~phrogz$geminstallpgFetching:pg-0.15.1.gem(100%)Buildingnativeextension

随机推荐