我有一个.NET Maui类库,我正在try 用XUnit对其进行单元测试.该类库面向iOS、Android和Windows. 我已经创建了一个XUnit测试项目,但是当我try 运行一个测试时,我得到了以下错误:

Project targets 'net7.0-windows10.0.19041.0;net7.0-windows10.0.22621.0'. It cannot be referenced by a project that targets '.NETCoreApp,Version=v7.0'

我要测试的项目的.csproj文件具有以下代码:

<PropertyGroup>
    <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst;net7.0</TargetFrameworks>
    <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">net7.0-windows10.0.19041.0</TargetFrameworks>
    <UseMaui>true</UseMaui>
    <SingleProject>true</SingleProject>
    <ImplicitUsings>enable</ImplicitUsings>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">14.2</SupportedOSPlatformVersion>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">14.0</SupportedOSPlatformVersion>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
    <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
    <Platforms>AnyCPU;x86;x64;ARM64;ARM32</Platforms>
</PropertyGroup>

如果我删除这行

<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">net7.0-windows10.0.19041.0</TargetFrameworks>

我可以运行单元测试,但不能在Windows上运行我的毛伊岛项目.

我做错了什么?如有任何帮助,将不胜感激

推荐答案

多亏了@Liqunshen-MSFT,我发现通过将我的测试项目中的以下行从: Net7.0 致: Net7.0-windows10.0.19041.0 它解决了我的问题

.net相关问答推荐

CLR如何在后台优化布尔比较操作?

PowerShell - 如果用户输入凭据,则查询 AD 时出错

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

如何计算给定2个字符串的距离相似性度量?

在 WP7 中将 List 转换为 ObservableCollection

为什么 StyleCop 建议在方法或属性调用前加上this?

整个命名空间的SuppressMessage

JavaScript 中的IsNullOrWhitespace?

图像与位图类

C# 测试字符串是否为整数?

风格上的差异:IDictionary vs Dictionary

ReaderWriterLockSlim 什么时候比简单的锁更好?

将日期时间转换为时间跨度

错误 NU1605 检测到包降级

WebClient.DownloadString 由于编码问题导致字符损坏,但浏览器正常

System.Array.CopyTo() 和 System.Array.Clone() 之间的区别

如何修改 KeyValuePair 值?

Windows 服务在哪个目录中运行?

模拟和单元测试需要时如何抛出 SqlException?

可以从 C# 调用 C++ 代码吗?