繁体   English   中英

如何在 Visual Studio 2022 中使用 .NET 6 Preview Generic Math?

[英]How to use .NET 6 Preview Generic Math in Visual Studio 2022?

有几篇文章解释了通用数学的新 .NET 6 预览功能,通常基于此 Microsoft 文章:

https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/

在预览版和 Visual Studio 2022 的第一个版本中,这可以正常工作。 但是在 Visual Studio 2022 版本 17.0.3 和 17.0.4(当前版本)中,我根本无法编译它。

我实际上回到了 VS2022 版本 17.0.0 以确保我正确地遵循了文章中的步骤。 代码编译得很好。 升级到VS2022版本17.0.3,同一个项目构建失败,报错:

Error   CS0246  The type or namespace name 'INumber<>' could not be found (are you missing a using directive or an assembly reference?)

有人有什么想法吗? 我假设我必须对 csproj 文件进行进一步更改,但是有什么更改呢?

在 NuGet Package 管理器中,我找到了将 System.Runtime.Experimental 升级到版本 6.0.0 的选项,这将我的 csproj 文件中的条目从:

  <ItemGroup>
    <PackageReference Include="System.Runtime.Experimental" Version="6.0.0-preview.7.21377.19" />
  </ItemGroup>

至:

  <ItemGroup>
    <PackageReference Include="System.Runtime.Experimental" Version="6.0.0" />
  </ItemGroup>

重新启动没有帮助。 清洁溶液无济于事。 在 Visual Studio 2022 的发行说明中,我也没有看到任何可以帮助我的东西。

完整的 csproj 文件供参考,已经包含您需要的额外位,是:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <EnablePreviewFeatures>True</EnablePreviewFeatures>
        <LangVersion>preview</LangVersion>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="System.Runtime.Experimental" Version="6.0.0" />
    </ItemGroup>
</Project>

步骤1

正如您在问题顶部链接的博客文章中所解释的那样:添加

    <EnablePreviewFeatures>true</EnablePreviewFeatures>

到项目文件中的<PropertyGroup>元素中。

第2步

现在上面已经确认了:你试过VS2022的预览版(目前是V17.1 Preview 1.1)吗?

刚试了一下:没有。

第 3 步

请参阅Hans Passant 对问题的评论:需要等待这个(或者您是否拥有正在构建的 .NET 7 的构建......)

我在 VS2022 17.0.4 中遇到了同样的错误。 现在,VS2022 17.1.0 Preview 1.1 似乎工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM