我创建了一个包含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社区工具包吗?
答案 0 :(得分:1)
是的,如果您想将NuGet软件包与Uno应用程序或库一起使用,则该软件包必须可用于您希望支持的所有平台(通常在NuGet页面的Dependencies
标签下可见) 。在这种情况下,SyncFusion控件尚不可用。
可以使用Windows Community Toolkit作为替代。 WCT中的DataGrid
受Uno最新稳定版本的支持。对于WebAssembly和其他非UWP项目的注释,您将需要使用WCT的Uno编译版本,它们当前是单独的NuGet软件包:Uno.Microsoft.Toolkit
,Uno.Microsoft.Toolkit.Uwp.UI.Controls
等。