繁体   English   中英

测试项目如何参考 Maui 项目?

[英]How have test project reference Maui project?

我最近开始跨平台开发,想硬着头皮和 go 直接进入 do.net 团队已经开始研究的最新框架 MAUI。

我遇到的问题是尝试在解决方案中添加另一个测试项目并引用 MAUI 项目。 因为我也是 Visual Studio 的新手,所以这可能只是一个菜鸟错误,我只是不知道自己在做什么,但我在这里问。

我做了什么:

  • 使用 Visual Studio 2022 Preview 17.2.0 中的默认模板创建了 MAUI 项目,目标框架为 .net6.0、.net6.0-android &.net6.0-ios)
  • 在目标框架 .net6.0 旁边添加了 XUnit 测试项目)
  • 添加 UseMaui=true 作为测试项目的属性

我还尝试将所有目标框架添加到项目中,但这导致的问题多于解决的问题。 我已经尝试关注这个开源项目,但我不确定如何实现它。

一些截图

测试项目.csproj

Alt+Enter class 未导入

手动添加import 因为suggestions没有添加

测试项目出错

测试项目

此链接可能会有所帮助。 https://www.softwaremeadows.com/posts.net_maui_progressing_from_a_default_project_part_6_-_revisiting_unit_testing/

概括:

  1. 在您的.csproj文件中,将 .net6.0' 添加到 TargetFrameworks,如下所示。

     <TargetFrameworks.net6.0.net6.0-android.net6.0-ios.net6.0-maccatalyst</TargetFrameworks>
  2. 修改 OutputType 以使用 Condition。

     <OutputType Condition="'$(TargetFramework)'.= .net6.0'">Exe</OutputType>

这可能是因为项目目标框架不匹配。 简单的解决方法是将目标框架添加到与测试项目中使用的匹配的 maui 项目中。 例如,如果您的测试项目基于 net6.0,只需将 net6.0 作为目标框架添加到您的 maui 应用程序项目中。

编辑 1:有时您还需要为 netX.X 构建添加空起点,如下所示

public static void Main(string[] args)
{

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM