如何使用 xUnit for MAUI 项目来获取平台特定代码?

问题描述 投票:0回答:2

我有适用于 Android 和 Windows 的 MAUI 项目和平台特定代码。当我在 Visual Studio 2022 Preview 中将 MAUI 项目引用到 xUnit 项目时,它显示错误“项目与 net6.0 不兼容”,因为 MAUI 项目引用目标框架“net6.0-android 和 net6.0-windows” ”.

有什么方法介绍可以让我参考MAUI项目和单元测试平台具体代码吗?

xunit .net-6.0 maui
2个回答
1
投票

Visual Studio 中的库存“net6.0”xUnit 测试无法引用 net6.0-android 和 net6.0-iOS 库等。我已经看到您的 MAUI 应用程序可以修改为多目标 net6.0。请参阅 https://www.youtube.com/watch?v=C9vIDLQwc7M 了解教程。

对于使用特定于平台的代码运行测试,我已经通过 https://www.nuget.org/packages/Shiny.Xunit.Runners.Maui 取得了相当的成功,可以在实际的移动设备上运行。 xUnit 团队过去曾为 Xamarin.Forms 制作过运行程序 - 我不知道他们是否会在某个时候开始为 MAUI 维护它们。


0
投票

我使用 xUnit 和 .NET 8.0 遇到了同样的问题

虽然可以在 MAUI 项目中以 net6/7/8.0 为目标,然后让您的测试参考它,但事情可能并不总是那么简单。

我的 MAUI 项目使用 UXDivers 的 Grial 并尝试以 net8.0 为目标,但由于 Grial NuGet 不以 net8.0 为目标,因此产生了大量错误

经过深思熟虑,解决这个问题的唯一方法是将所有需要测试的MAUI项目移动到一个新的net8.0项目中,然后可以从MAUI项目和测试项目中引用该项目。

© www.soinside.com 2019 - 2024. All rights reserved.