gpt4 book ai didi

c# - 如何使 C# 代码的编译需要给定的语言或编译器版本?

转载 作者:太空狗 更新时间:2023-10-29 22:29:28 24 4
gpt4 key购买 nike

C# 程序如何检测它是在不包含对该程序中使用的语言功能的支持的 C# 版本下编译的?

C# 编译器在遇到它不支持的语言特性时会拒绝该程序,并产生一些错误消息。这没有解决问题,即声明程序是使用太旧版本的 C# 编译器编译的,或者 C# 编译器不支持所需的 C# 版本

理想情况下,它会很简单

#if CS_VERSION < 3
#error CSharp 3 or later is required
#end

最佳答案

我不相信你可以用 C# 文件做到这一点,但如果你使用的是 MSBuild,那么项目/解决方案工具版本号可以阻止它使用旧版本的 MSBuild 构建。

你能给出具体的上下文吗?一种“人工”解决方案而不是技术解决方案可能是尝试使用所有“旧”版本编译代码,并创建一个文档:“如果您遇到类似this的错误,这可能意味着您正在使用错误的版本...”

您可能想要考虑的另一个选项可以使它变得更简单,那就是拥有一个“必需的功能”文件。这将不会被您的主应用程序使用,但请用户先编译它。如果它有效,则您构建的其余部分应该有效。如果没有,那是因为使用了错误的版本。这可能会产生来自不同版本的较小范围的错误(特别是它没有编译器可以以随机顺序列出来自不同文件的错误的问题)。

关于c# - 如何使 C# 代码的编译需要给定的语言或编译器版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/955623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com