Fel*_*lix 30 c# visual-studio visual-studio-2017 c#-7.1
我有ASP.NET Core C#web应用程序.我做了一些现在使用C#7.1功能的更改.我更改了项目版本,因此编译并运行正常.但是,当我尝试发布项目时,我收到一个错误:
功能'默认文字'在C#7.0中不可用.请使用语言版本7.1或更高版本.
我看到的编译命令是:
C:...\.nuget\packages\microsoft.net.compilers\2.6.1\tools\csc.exe /noconfig /unsafe- /checked- /nowarn:1701,1702,1705,1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;RELEASE;NETCOREAPP2_0 /errorendlocation /preferreduilang:en-US /warnaserror+:NU1605`
Run Code Online (Sandbox Code Playgroud)
正如其他地方所建议的,我安装了Microsoft.Net.Compilers(v2.6.1),但没有任何区别.
是否有专门影响发布的Visual Studio设置?
更新:看起来控制台应用程序没有这个问题.如果它成功构建,它也会成功发布.但是,Web应用程序不会发布.是否有人成功发布了具有C#7.1功能的ASP.NET Core Web应用程序?
Jer*_*ook 37
添加<LangVersion>latest</LangVersion>到.pubxml文件使Visual Studio 2017(在我的情况下为15.5.2)可以发布.
资料来源:https://developercommunity.visualstudio.com/solutions/166543/view.html
iro*_*e13 34
更新:
将我的VS2017从15.4.5版升级到15.5.2后,我可以重现该问题,并且出现错误
功能'默认文字'在C#7.0中不可用.请使用语言版本7.1或更高版本
@Jeremy Cook的答案解决了这个问题:
<LangVersion>latest</LangVersion> .pubxml
在新旧项目格式中LangVersion,项目文件中的元素对此负责.您可以通过csprojxml文件或通过Visual Studio中的UI 更改它.
请注意,此设置取决于您的构建配置.为了确保您能够代码和发布使用C#7.1和更高确保无论您配置构建配置(此设置Debug,Release等等).
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16439 次 |
| 最近记录: |