" xamarin forms initializecomponent does not exist in the current context ",在Xamarin.forms專案中從另一專案複製 *.xaml 檔案時,可能會出現這樣的錯誤,導致無法編譯,但事實上InitializeComponent() 方法是Xamarin.forms對XAML 頁面宣告定義進行初始化的函式,而編譯錯誤卻指向不認得此InitializeComponent()方法,以下就來說明要如何解決這個問題(筆者認為這是Visual Studio 2015 Xamarin.forms專案本身的缺陷)。
首先開啟專案檔( .csproj ),接著找到 EmbeddedResource 標籤,預設應該會看到如下圖的設定
接著複製一模一樣的 EmbeddedResource 宣告,把 Include="xxxxxxx" 改為你所複製過來的檔案名稱,重覆這個動作,直到你所複製的所有檔案都有一個 EmbeddedResource 的設定宣告,接著儲存你的專案檔,並且重新編譯你的Xamarin.forms專案就可以了。
這個問題筆者認為是Visual Studio 2015 Xamarin.forms專案本身的缺陷,當我們複製檔案進來時,專案檔並沒有自動偵測做相對應的必要宣告設定,因而導致了" xamarin forms initializecomponent does not exist in the current context "的編譯錯誤。
若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。
By No.18