如何将第三方库添加到UNO平台WebAssembly项目

时间:2020-06-25 11:30:14

标签: c# uno-platform

我创建了一个包含WebAssembly项目的UNO平台.NET解决方案。我打算添加一些第三方组件,因此我将其UWP NuGet包添加到UPW项目中。

不幸的是,在构建时,我在WebAssembly项目中遇到以下错误:

System.InvalidOperationException: An error occurred when processing Grid at line 103:4
(D:\UnoTesting\UnoTesting.Shared\MainPage.xaml) : 
The type {using:Syncfusion.UI.Xaml.Grid}SfDataGrid could not be found --->
System.InvalidOperationException: The type {using:Syncfusion.UI.Xaml.Grid}SfDataGrid could not be found
   at : Uno.UI.SourceGenerators.XamlGenerator.XamlFileGenerator.GetType(XamlType type) at:
   D:\a\1\s\src\SourceGenerators\Uno.UI.SourceGenerators\XamlGenerator\XamlFileGenerator.Reflection.cs, line: 722

因此,当我尝试使用库时,必须为每个平台(Android,macOS,WebAssembly)提供NuGet软件包?如果没有软件包,那么我应该使用Windows社区工具包吗?

1 个答案:

答案 0 :(得分:1)

是的,如果您想将NuGet软件包与Uno应用程序或库一起使用,则该软件包必须可用于您希望支持的所有平台(通常在NuGet页面的Dependencies标签下可见) 。在这种情况下,SyncFusion控件尚不可用。

可以使用Windows Community Toolkit作为替代。 WCT中的DataGrid受Uno最新稳定版本的支持。对于WebAssembly和其他非UWP项目的注释,您将需要使用WCT的Uno编译版本,它们当前是单独的NuGet软件包:Uno.Microsoft.ToolkitUno.Microsoft.Toolkit.Uwp.UI.Controls等。

相关问题