有几篇文章解释了新功能。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似乎运行良好。