[英]Unsure how to set C# Connection string depending on solution configuration
[英]Is the C# language version set per each solution configuration?
在开发 VS 2019 解决方案时,该解决方案包含一个针对 .NET 4.5.2 的项目和另一个针对 .NET 4.8 的项目,我观察到如果解决方案配置设置为“调试”以外的任何内容(此特定解决方案具有“DEV”、“ FEATURE”、“QA”、“STG”和“PROD”配置)我在 VS 错误列表 window 中看到错误指示“功能 _______ 在 C# 7.3 中不可用。请使用语言版本 8.0 或更高版本。”
作为参考,如果在此处选择“调试”以外的配置,则会观察到错误:
然后我收到这些错误:
有问题的项目设置为使用 C# 语言级别“默认(自动检测)”:
我可能不完全理解语言版本与不同解决方案配置的关系,以及为什么“调试”配置似乎使用正确的语言版本,而其他大火则没有。 但是,使用各种解决方案配置发布应用程序不会产生任何语言版本错误。
语言级别在项目文件中设置。 项目属性可以是特定于配置的,也可以是通用的。 (请注意,“解决方案配置”和“项目配置名称”也可以不同,这是一个复杂的问题。)
您应该查看项目文件 - 我希望您会找到具有Condition
属性的LangVersion
的 MSBuild 属性。 移除Condition
属性以使该属性适用于所有配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.