如何在网站项目中使用 C# 7? [复制]

Posted

技术标签:

【中文标题】如何在网站项目中使用 C# 7? [复制]【英文标题】:How can I use C# 7 on a Web Site project? [duplicate] 【发布时间】:2017-05-16 09:16:50 【问题描述】:

如何通过 C# 代码输出应用程序正在使用的 C# 版本(无论是 MVC 应用程序、网站还是控制台应用程序)。

我花了很长时间搜索这个 - 我在 Google 上找不到任何东西 - 很奇怪。

我搜索过: “在代码中输出 C# 版本” “如何获取当前应用程序的 C# 版本” 和许多其他人。

这可能吗?

我希望它输出“C# 版本 7”或“5”等内容。

【问题讨论】:

即使可以,为什么还要这样做?用于生成 IL 的语言无关紧要 @niico 与编译代码无关。 @niico 如果您想查看您的项目的目标语言版本,请转到项目属性的构建选项卡。它是对话框中的最后一个按钮。在运行时没有 C# 语言。只是 IL @niico 网站,如 不是网络应用程序而是网站?那是完全不同的。它重复的问题,您可以更改网站的目标语言 @niico 不,您需要停止寻找幽灵错误并提出正确的问题。你有一个Web Site 项目。这些不会在您的机器上编译,它们是在服务器上编译的。您必须在配置文件中指定目标语言 【参考方案1】:

您可以获得针对您的项目的 .NET 框架版本。在这个 SO 中已经回答了这个问题

which version of C# am I using

以防万一

static string version()
    
        string[] v = typeof(string).Assembly.ImageRuntimeVersion.Replace("v","").Split('.');
            string ver = v[0]+"."+v[1];
            switch(ver)
            
                case "1.0":
                    return "C# 1.0";
                break;
                case "1.1":
                    return "C# 1.2";
                break;
                case "2.0":
                    return "C# 2.0";
                break;
                case "3.5":
                    return "C# 3.0";
                break;
                case "4.0":
                    return "C# 4.0";
                break;
                case "4.5":
                    return "C# 5.0";
                break; 
                case "4.6":
                    return "C# 6.0";
                break; 
                case "4.6.2":
                    return "C# 7.0";
                break;
                default:
                 return "unknown";
    
public static void Main(string[] args)

  string ver = version();
  Console.Write(ver);

【讨论】:

【参考方案2】:

你的意思是汇编文件吗?

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
string version = fvi.FileVersion;

【讨论】:

不,他的意思不是“汇编文件”…… Xm.......

以上是关于如何在网站项目中使用 C# 7? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 C# 6 与网站项目类型一起使用?

C# - 如何将 DLL 嵌入到项目中? [复制]

如何在 C# 中获取纪元时间? [复制]

如何在 C# 中启动我的项目中包含的 .exe 文件? [复制]

如何在 Visual Studio 2017 项目中启用 C# 7 的所有功能?

如何在 Unity3D 项目中启用 c# 7 功能