【MAUI Blazor踩坑日记】4.只在特定平台上引用包
其实这个并不是MAUI特有的问题,只是在MAUI中可能会遇到。
例如某个包只在Windows上有用,但打包的时候,安卓、ios也会把这个包计算在内
所以需要在不是特定平台时把它排除。
万幸从微软文档找到了 https://learn.microsoft.com/zh-cn/nuget/consume-packages/package-references-in-project-files#adding-a-packagereference-condition
再结合这个 https://learn.microsoft.com/zh-cn/dotnet/maui/platform-integration/configure-multi-targeting?view=net-maui-7.0#configure-filename-based-multi-targeting ,确定编译目标平台的条件怎么写
用起来也简单,在项目文件中更改,下面是一个例子
<PackageReference Include="PInvoke.User32" Version="0.7.124" Condition="$(TargetFramework.Contains('-windows')) == true" />
或者这样写
<ItemGroup Condition="$(TargetFramework.Contains('-windows')) == true">
<PackageReference Include="PInvoke.User32" Version="0.7.124" />
</ItemGroup>