2017-02-14 4 views
0

So einige Hintergrundinformationen. Ich habe die Aufgabe, plattformübergreifende native Anwendungen mit Xamarin zu schreiben. Scheint ziemlich einfach bis jetzt und ich mag was ich gerade lese. Ich habe meine Visual Studio 2015 Enterprise eingerichtet und meine Remote-Mac im Netzwerk konfiguriert. Ich habe eine plattformübergreifende native App über den Projekterstellungsassistenten in Visual Studio erstellt. Wenn ich eine Debug-Sitzung für die iOS-App starte, wird die Ziel-App im Simulator auf dem Remote-Mac gestartet. Es denkt jedoch nie wirklich, dass es vollständig läuft. Es wird an diesem Ausgang hängen:Xamarin Wizard Projekt kann nicht debuggen

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 

Schließlich ist es mit etwas in diese Richtung wird scheitern:

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. 

ich die Log-Datei in Frage geprüft habe und es enthält nichts anderes als genau die gleichen Phrase.

Wenn ich versuche, und lege eine einfache Linie von Console Schreiben auf der Wirkung von Drücken der Taste:

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!")); 
      }; 
     } 

die Debug-Sitzung tatsächlich Fehler auf dieser Linie 17 (UIApplication.Main) in der Datei Main.cs :

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"); 
     } 
    } 
} 

Mit Unbehandelte Ausnahmefehler:

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. 

Wenn ich die c nicht haben onsole log es wird die app starten, aber immer noch auf diese Loaded montage linien. Zu diesem Zeitpunkt kann ich keine Breakpoints in meinem Code treffen. Ich habe versucht, einen Haltepunkt im geteilten Code für den Klick der Schaltfläche hinzuzufügen, aber es würde es niemals treffen, obwohl die Aktion vom Simulator ausgeführt wurde.

Ich bin völlig ratlos für das weitere Vorgehen. Ich habe nichts aus der Box der Zauberer-Kreation berührt. Ich hatte gehofft, ich könnte zumindest sehen, dass das Starter-Projekt funktioniert.

Jede Hilfe wird geschätzt.

+0

diese Zeile fehlt ein Parameter: Console.WriteLine (string.Format (“ {0} Klicks! ")); – Jason

Antwort

1

Du

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

Die {0} Verwendung ist ein Platzhalter für einen Wert ausgibt, aber man kann nie diesen Wert angeben, das ist, warum Sie eine Fehlermeldung erhalten.

Verwendung so etwas wie dieses stattdessen:

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

oder in C# 6 Syntax:

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

+0

Vielen Dank für die Antwort, jede Idee, warum es nicht den Fehler in dieser Zeile statt der aus der Datei main.cs zeigte? – Kyle

+0

Nein, tut mir leid. Etwas scheint mit deinem Setup zu verschmelzen, wenn die App nicht automatisch startet und du nicht debuggen kannst. Versuchen Sie das Übliche: neustarten, neu installieren, wiederholen :-) – Krumelur

Verwandte Themen