我正在開發一個使用Xamarin.Forms的應用程序。我發現我無法得到以下編譯:C# - 爲什麼這些命名空間發生衝突?
namespace Loopback.Sdk.Xamarin.Example.Forms.Android
{
[Activity (Label = "Loopback.Sdk.Xamarin.Example.Forms.Android.Android", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : AndroidActivity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
Xamarin.Forms.Forms.Init (this, bundle);
SetPage (App.GetMainPage());
}
}
}
生成錯誤是:
Loopback.Sdk.Xamarin.Example.Forms/Android/MainActivity.cs(4,4): Error CS0234: The type or namespace name `Forms' does not exist in the namespace `Loopback.Sdk.Xamarin'. Are you missing an assembly reference? (CS0234) (Loopback.Sdk.Xamarin.Example.Forms.Android)
從空間聲明省略Xamarin
解決了這個問題,所以我只能假設我運行進入某種名稱空間衝突。我的問題是爲什麼會發生這種情況,因爲命名空間看起來甚至沒有相同的根目錄?
UPDATE:
我要強調這指甲下錯誤異常的部分:
The type or namespace name `Forms' does not exist in the namespace `Loopback.Sdk.Xamarin'.
所以或許改寫了一下,爲什麼Loopback.Sdk.Xamarin
作爲根命名空間爲Forms
的問題,而不僅僅是Xamarin
?我該如何解決這個問題?
我最終使用'使用XForms = Xamarin.Forms.Forms;',但這確實解決了這個問題。 – csvan