如何使用.NET 6在Visual Studio 2022中预览通用数学



有几篇文章解释了新功能。NET 6通用数学预览功能,通常基于这篇微软文章:

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软件包管理器中,我找到了升级系统的选项。运行时。实验版本为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预览版1.1(?

刚试过:没有。

步骤3

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

VS 2002 17.2.0预览版3.0的更新

使用System的V6.0.2。运行时。这是实验性的,现在有效了。

我在VS2022 17.0.4中得到了相同的错误。现在,VS2022 17.1.0预览版1.1似乎运行良好。

相关内容

  • 没有找到相关文章

最新更新