当在Windows2008Server机器上运行一个新的ASP.NET MVC应用程序(直接从VS2015社区中走出来)时,一直收到这个错误。
发布于 2015-09-03 23:42:16
很多人都会碰到它,所以我想在这里发帖。
多亏了这个家伙:Expertdebugger,我找到了一个非常简单的变通方法。
只需将您的语言版本从C# 6降级到C# 5,如下所示:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701">
<providerOption name="CompilerVersion" value="v4.0"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+">
<providerOption name="CompilerVersion" value="v4.0"/>
</compiler>
</compilers>
</system.codedom>
将靠近底部的langversion:6
从6更改为5- langversion:5
帮我修好了。谢谢他。
发布于 2018-04-12 23:55:14
在我的例子中,我发现错误的直接原因是:
这是有意义的,因为该错误说明存在无效的语言选项。
但是,这之前工作得很好-所以它一定是被选中了。什么改变了?原来我团队的一名成员升级到了vs 2017,而我还在使用2015。在他对项目进行更改后,语言版本也发生了变化,我也收到了源代码控制方面的变化。但是选择的版本对于我的vs版本是不可用的,所以它是空白的-因此出现了错误。在语言下拉列表中选择一个值后(我选择了默认),一个新的错误弹出。新的错误导致使用较新版本的c#的任何代码行上的构建失败。我更改了代码以执行相同的功能,但使用我的c#版本的语法和问题得到了解决。
因此,虽然错误的直接原因确实是无效的语言版本选择,但根本原因是不同的vs/c#版本冲突。
发布于 2018-02-17 07:09:43
在我的例子中,我使用了错误的MSBuild.exe,该one位于:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
为了解决这个错误,我更新了PATH环境变量以开始使用Visual Studio2017 MSBuild.exe:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSbuild.exe
详情请访问以下链接:Error CS1056: Unexpected character '$' running the msbuild on a tfs continuous integration process
https://stackoverflow.com/questions/32380064
复制相似问题