gpt4 book ai didi

没有 Visual Studio 的 C# 6.0

转载 作者:太空狗 更新时间:2023-10-29 17:49:13 26 4
gpt4 key购买 nike

如何在没有 Visual Studio 的情况下使用 C# 6.0 功能?

以下C# 6.0 Code不起作用:

using static System.Console;

class Program
{
static void Main()
{
WriteLine("Hello world!");
}
}

这是错误:

>csc CS6.cs
Microsoft (R) Visual C# Compiler version 4.6.1055.0
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.

CS6.cs(1,7): error CS1041: Identifier expected; 'static' is a keyword
CS6.cs(1,14): error CS1518: Expected class, delegate, enum, interface, or struct

这是 determine which .NET Framework versions are installed 的 C# 代码:

using System;
using Microsoft.Win32;

class RegistryVersion
{
private static void GetVersionFromRegistry()
{
// Opens the registry key for the .NET Framework entry.
using (RegistryKey ndpKey =
RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
{
// As an alternative, if you know the computers you will query are running .NET Framework 4.5
// or later, you can use:
// using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
// RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
foreach (string versionKeyName in ndpKey.GetSubKeyNames())
{
if (versionKeyName.StartsWith("v"))
{

RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
string name = (string)versionKey.GetValue("Version", "");
string sp = versionKey.GetValue("SP", "").ToString();
string install = versionKey.GetValue("Install", "").ToString();
if (install == "") //no install info, must be later.
Console.WriteLine(versionKeyName + " " + name);
else
{
if (sp != "" && install == "1")
{
Console.WriteLine(versionKeyName + " " + name + " SP" + sp);
}

}
if (name != "")
{
continue;
}
foreach (string subKeyName in versionKey.GetSubKeyNames())
{
RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
name = (string)subKey.GetValue("Version", "");
if (name != "")
sp = subKey.GetValue("SP", "").ToString();
install = subKey.GetValue("Install", "").ToString();
if (install == "") //no install info, must be later.
Console.WriteLine(versionKeyName + " " + name);
else
{
if (sp != "" && install == "1")
{
Console.WriteLine(" " + subKeyName + " " + name + " SP" + sp);
}
else if (install == "1")
{
Console.WriteLine(" " + subKeyName + " " + name);
}
}
}
}
}
}
}

static void Main()
{
GetVersionFromRegistry();
}
}

这是用于确定安装了哪些 .NET Framework 版本的 C# 代码的输出:

>csc FrameworkVersion.cs
Microsoft (R) Visual C# Compiler version 4.6.1055.0
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.

>FrameworkVersion.exe
v2.0.50727 2.0.50727.4927 SP2
v3.0 3.0.30729.4926 SP2
v3.5 3.5.30729.4926 SP1
v4
Client 4.6.01055
Full 4.6.01055
v4.0
Client 4.0.0.0

请注意,这个问题是关于 C# 6.0 没有任何 Visual Studio/IDE的。

最佳答案

C# 6 不是针对特定的框架版本构建的,它完全取决于编译器。如果您使用 C# 6 编译器,则可以编译该代码段。

确保您已在构建机器上安装最新的 MSBuild 版本(他们将编译器从框架文件夹中移出)。该安装包含最新的编译器。 (如果您的项目指定为构建较低的框架版本,则客户端不需要运行最新的框架版本)

您还可以使用 NuGet 命令行安装编译器 NuGet 包。

有用的资源:

关于没有 Visual Studio 的 C# 6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217527/

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