C# 如何在rutime上获取c版本

C# 如何在rutime上获取c版本,c#,.net-core,C#,.net Core,如何在运行时从代码中获取c版本?我使用.NETCore。例如,我可以使用以下代码获得框架版本: FrameworkName = Assembly .GetEntryAssembly()? .GetCustomAttribute<TargetFrameworkAttribute>()? .FrameworkName 我需要类似的C版本。没有这样的东西。语言版本在编译过程中完全丢失,因为最终结果只是编译IL代码 使用C 6或C 7或Visual Basic.NE

如何在运行时从代码中获取c版本?我使用.NETCore。例如,我可以使用以下代码获得框架版本:

FrameworkName = Assembly
    .GetEntryAssembly()?
    .GetCustomAttribute<TargetFrameworkAttribute>()?
    .FrameworkName

我需要类似的C版本。

没有这样的东西。语言版本在编译过程中完全丢失,因为最终结果只是编译IL代码


使用C 6或C 7或Visual Basic.NET的事实不会以任何形式保留在运行时程序中,只用于发出代码。

没有这样的事情。语言版本在编译过程中完全丢失,因为最终结果只是编译IL代码


您使用C 6或C 7或Visual Basic.NET的事实不会以任何形式保留在运行时程序中,只用于发出代码。

这可能与此处的答案重复:OP询问的是所使用的C规范。您想做什么?你为什么需要C版本?这可能是这里答案的重复:OP询问的是使用过的C规范。你想做什么?你为什么需要C版本?谢谢你的回答。在这种情况下,是否存在在CLI上获取c版本的方法?类似于dotnet-language_version?@stepozer的东西,只存在于项目文件中,用于启动具有正确语言版本的编译器。一旦编译完成,CLI或代码或任何东西,C就不存在了。因此,我问,从哪里获得它?@stepozer您可以查看csproj文件的LangVersion标记,这是保存语言版本的唯一地方。当然,该文件仅存在于开发工作副本上,并且根本没有部署,因此在运行时它将不可用,除非您采取措施发布它。谢谢您的回答。在这种情况下,是否存在在CLI上获取c版本的方法?类似于dotnet-language_version?@stepozer的东西,只存在于项目文件中,用于启动具有正确语言版本的编译器。一旦编译完成,CLI或代码或任何东西,C就不存在了。因此,我问,从哪里获得它?@stepozer您可以查看csproj文件的LangVersion标记,这是保存语言版本的唯一地方。当然,该文件仅存在于开发工作副本上,并且根本没有部署,因此在运行时它将不可用,除非您采取措施将其发布。