2017-02-14 25 views
0

したがって、いくつかの背景情報です。 Xamarinを使用してクロスプラットフォームのネイティブアプリケーションを作成することを検討しなければなりません。これまでのところかなり基本的なもので、私が読んでいるものが好きです。私は自分のVisual Studio 2015 Enterpriseをすべてセットアップし、リモートのMacをネットワーク上に設定しました。 Visual Studioのプロジェクト作成ウィザードを使用してクロスプラットフォームネイティブアプリを作成しました。 iOSアプリのデバッグセッションを開始すると、リモートMacのシミュレータでターゲットアプリが起動します。しかし、実際には完全に実行されているとは決して考えません。それは、この出力でハングします:Xamarin Wizardプロジェクトはデバッグできません

Launching 'PersonalProject.iOS' on 'iPhone 6 iOS 10.2'... 
Loaded assembly: /Users/plm/Library/Developer/CoreSimulator/Devices/B5A038B6-056F-4E6C-A59C-29ABD8C04CD0/data/Containers/Bundle/Application/2A1B11FF-6C59-4A9B-9CE3-7B8446B1AD48/PersonalProject.iOS.app/Xamarin.iOS.dll 
Loaded assembly: /Users/plm/Library/Developer/CoreSimulator/Devices/B5A038B6-056F-4E6C-A59C-29ABD8C04CD0/data/Containers/Bundle/Application/2A1B11FF-6C59-4A9B-9CE3-7B8446B1AD48/PersonalProject.iOS.app/System.dll 
Thread started: #2 
Loaded assembly: /Users/plm/Library/Developer/CoreSimulator/Devices/B5A038B6-056F-4E6C-A59C-29ABD8C04CD0/data/Containers/Bundle/Application/2A1B11FF-6C59-4A9B-9CE3-7B8446B1AD48/PersonalProject.iOS.app/PersonalProject.iOS.exe 
Loaded assembly: /Users/plm/Library/Developer/CoreSimulator/Devices/B5A038B6-056F-4E6C-A59C-29ABD8C04CD0/data/Containers/Bundle/Application/2A1B11FF-6C59-4A9B-9CE3-7B8446B1AD48/PersonalProject.iOS.app/System.Xml.dll 

結局、それはこれらの線に沿って何かで失敗します:私は疑問にログファイルをチェックしました

The app has been terminated. 
Launch failed. The app 'PersonalProject.iOS' could not be launched on 'iPhone 6 iOS 10.2'. Error: An error occurred while executing MTouch. Please check the logs for more details. 

、それはまったく同じ以上のものが含まれていませんフレーズ。

私が試してみて、ボタンを押すの行動にコンソールの書き込みのシンプルなラインを入れた場合:

public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 
      // Perform any additional setup after loading the view, typically from a nib. 
      Button.AccessibilityIdentifier = "myButton"; 
      Button.TouchUpInside += delegate { 
       var title = string.Format ("{0} clicks!", count++); 
       Button.SetTitle (title, UIControlState.Normal); 
       Console.WriteLine(string.Format("{0} clicks!")); 
      }; 
     } 

デバッグセッション実際Main.csファイルのこの行17(UIApplication.Main)のエラー:未処理の例外エラーで

using System; 
using System.Collections.Generic; 
using System.Linq; 

using Foundation; 
using UIKit; 

namespace PersonalProject.iOS 
{ 
    public class Application 
    { 
     // This is the main entry point of the application. 
     static void Main (string[] args) 
     { 
      // if you want to use a different Application Delegate class from "AppDelegate" 
      // you can specify it here. 
      UIApplication.Main (args, null, "AppDelegate"); 
     } 
    } 
} 

Unhandled Exception: 

System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. 

Error while resolving expression: One or more errors occurred. 

私は、cを持っていない場合onsoleのログは、アプリケーションを起動しますが、依然としてそれらのLoadedアセンブリ行にハングアップします。この時点では、自分のコードでブレークポイントを打つことはできません。私は、ボタンクリックの共有コードにブレークポイントを追加しようとしましたが、たとえそのアクションがシミュレータによって実行されていたとしても、ヒットしませんでした。

私は、どのように進めていくのか、全く迷っています。私はウィザード作成の箱の中に何かを触れていません。私は、少なくともスタータープロジェクトの作業を見ることができればと願っていました。

何か助けていただければ幸いです。あなたがエラーを取得している理由です、

+0

この行は、パラメータが欠落しています。Console.WriteLine(String.Formatの(」 {0}クリック! ")); – Jason

答えて

1
あなたは

Console.WriteLine(string.Format("{0} clicks!"));

{0}を使用している

が出力する値のプレースホルダですが、その値を指定することはありません。

Console.WriteLine(string.Format("{0} clicks!", count));

またはC#6構文で:代わりに、このような

利用何か

Console.WriteLine($"{count} clicks!");

+0

答えていただきありがとうございます。なぜmain.csファイルから表示されたエラーではなく、その行にエラーが表示されなかったのでしょうか? – Kyle

+0

いいえ、申し訳ありません。アプリが自動的に起動せず、デバッグできない場合は、何かセットアップに戸惑うようです。いつも試してみてください:再起動、再インストール、再試行:-) – Krumelur

関連する問題