.NET MAUI (legacy)

circle-exclamation

配置 Git blame

我们建议您配置 Git 以忽略 Prettier 修订版本:

git config blame.ignoreRevsFile .git-blame-ignore-revs

Android 开发arrow-up-right

请参阅 Android 移动 App 页面以设置 Android 开发环境。

请参阅 iOS 移动 App 页面以设置 iOS 开发环境。

watchOS 开发arrow-up-right

请参阅 watchOS App 页面以设置 watchOS 开发环境。

单元测试arrow-up-right

circle-check

鉴于 Core.csproj 是一个 MAUI 项目,其目标框架为 net8.0-android;net8.0-ios,而我们需要在测试中使用 net8.0,因此我们需要一种方法来添加该框架。Core.Test.csprojnet8.0 作为目标框架,因此通过添加参数 /p:CustomConstants=UT,我们可以将 UT 作为常量添加到项目中。这样,接下来会发生以下事情:

  • UT 被添加为常量,供预编译器指令使用

  • Core.csproj 被修改为添加 net8.0 作为单元测试的目标框架

  • FFImageLoading 被移除作为参考,因为它不支持 net8.0。因此,现在我们有一个封装的 CachedImage,如果不是 UT,则使用库中的 CachedImage,如果是 UT,则使用带有 NOOP 实现的自定义 CachedImage

如果想构建测试项目,需要前往 test/Core.Test 并运行:

要运行测试,请进入相同的文件夹并运行:

最后,当工作于 Core.Test 项目或想要使用测试运行器时,请转到 Directory.Build.props(位于根目录),取消对引用 CustomConstants 的行的注释,以便所有内容都将相应地加载到项目中。 由于某些问题,只有在 UT 常量就位时,引用的项目(如 Core)才会包含在内。取消这行注释后,项目将被引用,可以在该项目上工作或通过测试运行器运行测试。

自定义常量arrow-up-right

在构建/运行/发布时,可通过参数 /p:CustomConstants={Value} 使用自定义产量:

  • FDROID:用于指示这是 F-Droid 的构建/发布版本( 了解更多

  • UT:在构建/运行测试项目或在这些项目之一上工作时使用( 了解更多

这些常量被添加到已定义的常量中,因此任何人都可以通过预编译指令在代码中使用它们。

最后更新于