本机嵌入:在全局命名空间中找不到UIKit,用于Xamarin.Forms

时间:2017-03-29 16:10:38

标签: 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.Widget;

    #endif

这是在UIKit发生错误的自动生成文件中:

[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
        private global::UIKit.UIPickerView iOSColumnScroller;

错误: &#34;严重级代码描述项目文件行抑制状态 错误CS0400类型或命名空间名称&#39; UIKit&#39;无法在全局命名空间中找到(您是否缺少程序集引用?)这是自动生成的文件: Y:.... RiskMobileCross.MainView.xaml.g.cs&#34; < / p>

我遵循了几个教程,试图让这个正确。关于我使用引用的原因可能不起作用的任何想法?如果它像缺少一个程序集引用一样简单,我很困惑我会在这里缺少什么。如果我要引用我的AppName.iOS项目,我会得到一个循环引用错误。

这是我的XAML:

xmlns:ios="clr-namespace:UIKit;assembly=Xamarin.iOS;targetPlatform=iOS"
.
.
.
<ios:UIPickerView 
     x:Name="iOSColumnScroller"

                        />

1 个答案:

答案 0 :(得分:1)

只需删除x:Name =“iOSColumnScroller”

请注意,在可移植类库(PCL)项目或共享资产项目(SAP)中无法使用x:Name命名本机视图。这样做会生成本机类型的变量,这将导致编译错误。但是,只要正在使用SAP,本机视图就可以包装在ContentView实例中并在代码隐藏文件中检索。有关更多信息,请参阅从代码引用本机视图。

https://developer.xamarin.com/guides/xamarin-forms/user-interface/native-views/