gpt4 book ai didi

c# - 如何将 C# 8 与 Visual Studio 2017 一起使用?

转载 作者:可可西里 更新时间:2023-11-01 07:57:35 27 4
gpt4 key购买 nike

我想在 Visual Studio 2017 中使用 C# 8.0(尤其是范围和不可为 null 的引用类型)。这可能吗?

最佳答案

展望 future ,微软希望将 C# 语言版本与框架版本比过去更紧密地联系在一起。他们真的只希望您将 C# 8 与 .NET Core 3.x 和 .NET Standard 2.1 项目一起使用,这意味着使用 Visual Studio 2019。我对 Does C# 8 support the .NET Framework? 的回答有所有血淋淋的细节。

但是,如果您真的想现在可以在 Visual Studio 2017 中使用 C# 8,方法是使用 the same trick将 C# 7 引入 Visual Studio 2015:安装最新版本的 Microsoft.Net.Compilers Nuget package进入项目。它有效,但当然 VS 2017 不了解 C# 8 语法,所以它看起来不太漂亮。这是一个屏幕截图,显示 VS 2017 能够使用可空引用类型和静态本地方法(两者都是 C# 8 功能)编译一个小型测试库:

enter image description here


如果您想尝试一下,这里是 .csproj 和代码:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Net.Compilers" Version="3.3.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

-

using System;

namespace CSharp8Test
{
public class Class1
{
public string? NullableString { get; } = "Test";

public static void Test()
{
Console.WriteLine(Test2());
static int Test2() => 5;
}
}
}

关于c# - 如何将 C# 8 与 Visual Studio 2017 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54701377/

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