2017-05-06 52 views
0

我最近開始使用Xamarin在C#中構建Android應用程序。 有一個問題我曾特別是使得我很難取得任何進展: error CS0117xamarin C#:'資源'不包含'Id'的定義

我有兩個相同的項目,問題只在其中的一個出現。 它最初發生在兩個但重建幾次固定第一個。 第二個似乎更持久。 我真的需要找到這個問題的解決方案,因爲引用是非常基礎和需要的。更不用說,它發生在每個新項目中。 這裏是我的代碼: NoteMath

using System; 
using Android.App; 
using Android.Content; 
using Android.Widget; 
using Android.OS; 

namespace NoteMath_v1._0._1 
{ 
    [Activity(Label = "noteMath", MainLauncher = true, Icon = "@drawable/icon")] 
    public class MainActivity : Activity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 
      Window.RequestFeature(Android.Views.WindowFeatures.NoTitle); 
      // Set our view from the "main" layout resource 
      SetContentView(Resource.Layout.Main); 
      EditText etInput = FindViewById<EditText>(Resource.Id.etInput); 
      TextView tvConsole = FindViewById<TextView>(Resource.Id.tvConsole); 
      etInput.KeyPress += (object sender, EditText.KeyEventArgs e) => 
      { 
       e.Handled = false; 
       if (e.Event.Action == Android.Views.KeyEventActions.Down && e.KeyCode == Android.Views.Keycode.Enter) 
       { 
        tvConsole.Append("\n>" + HandleInput.TransferInput(etInput.Text)); 
        etInput.Text = ""; 
        e.Handled = true; 
       } 
      }; 
     } 
    } 
} 

我感謝你在前進。

+0

請發佈代碼而不是圖片:[爲什麼我不可以在提問時上傳代碼圖片?](https://meta.stackoverflow.com/q/285551/6400526) –

+0

感謝您的建議。已添加代碼。 –

+0

這通常發生在您的axml文件包含錯誤時。在這種情況下,無法正確生成'Resources.designer.cs'文件。 –

回答

0

您發佈的代碼看起來不錯。這個錯誤顯然不是來自那裏。你的任何資源佈局或xml文件都有問題。

問題實際上是Visual Studio不會在Errors面板中顯示資源生成錯誤,儘管它應該是這樣的(我認爲這將在未來版本中修復)。目前它只是告訴你Id類不存在。

Resources.designer.cs是Xamarin在編輯任何資源文件時生成的類。它包含對xml/axml文件中任何聲明,id等的引用。如果資源出現錯誤,Resources.designer.cs世代會失敗,但您會得到一個非常模糊的錯誤提示。

好消息是,你可以通過改變建立輸出詳細程度爲「詳細」看到一代的錯誤:

enter image description here enter image description here

現在再次編譯你的項目,並檢查輸出窗口。它會告訴你到底是什麼問題。

修復後,將生成Resource.Id類。

+0

感謝您的詳細解答。我對所創建的所有新項目都有問題。最後,我重新安裝了Xamarin,問題解決了。 –

+0

這可能是因爲你安裝了一個更新的版本,修正了bug – xleon

相關問題