C# 本机嵌入:对于Xamarin.Forms,在全局命名空间中找不到UIKit
好的,我在一个自动生成的文件中得到一个构建错误。该文件显示在底部的错误语句中 我添加了一些语句,看看UIKit下的红色曲线是否会消失,但它没有消失C# 本机嵌入:对于Xamarin.Forms,在全局命名空间中找不到UIKit,c#,ios,xaml,xamarin.ios,xamarin.forms,C#,Ios,Xaml,Xamarin.ios,Xamarin.forms,好的,我在一个自动生成的文件中得到一个构建错误。该文件显示在底部的错误语句中 我添加了一些语句,看看UIKit下的红色曲线是否会消失,但它没有消失 #if __IOS__ using Xamarin.Forms.Platform.iOS; using UIKit; #elif __ANDROID__ using Xamarin.Forms.Platform.Android; using Android.Graphics; using Android
#if __IOS__
using Xamarin.Forms.Platform.iOS;
using UIKit;
#elif __ANDROID__
using Xamarin.Forms.Platform.Android;
using Android.Graphics;
using Android.Widget;
#endif
这在UIKit发生错误的自动生成文件中:
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
private global::UIKit.UIPickerView iOSColumnScroller;
xmlns:ios="clr-namespace:UIKit;assembly=Xamarin.iOS;targetPlatform=iOS"
.
.
.
<ios:UIPickerView
x:Name="iOSColumnScroller"
/>
错误:
“严重性代码说明项目文件行抑制状态
错误CS0400在全局命名空间中找不到类型或命名空间名称“UIKit”(是否缺少程序集引用?这是自动生成的文件:Y:..RiskMobileCross.MainView.xaml.g.cs“
我遵循了几篇教程,试图纠正这个错误。关于为什么我使用参考资料可能不起作用,有什么想法吗?如果它像缺少一个程序集引用一样简单,那么我会对这里缺少什么感到困惑。如果我引用我的AppName.iOS项目,我会得到一个循环引用错误
这是我的XAML:
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
private global::UIKit.UIPickerView iOSColumnScroller;
xmlns:ios="clr-namespace:UIKit;assembly=Xamarin.iOS;targetPlatform=iOS"
.
.
.
<ios:UIPickerView
x:Name="iOSColumnScroller"
/>
xmlns:ios=“clr命名空间:UIKit;assembly=Xamarin.ios;targetPlatform=ios”
.
.
.
只需删除x:Name=“iOSColumnScroller”
请注意,在可移植类库(PCL)项目或共享资产项目(SAP)中都不可能使用x:Name命名本机视图。这样做将生成本机类型的变量,这将导致编译错误。但是,如果正在使用SAP,则可以将本机视图包装在ContentView实例中,并在代码隐藏文件中检索。有关更多信息,请参见从代码中引用本机视图
我最终没有使用本机嵌入,因为这是一个月前的事了。但如果我回到它,很可能,我会使用这个方法。