2012-04-12 11 views
4

Ich bin sehr neu in Unity3d und habe versucht, ein bestehendes Projekt zu öffnen. Während der Wiedergabe wird der folgende Fehler angezeigt.System.IO.File 'enthält keine Definition für `AppendAllText' Fehler in Unity3D?

Assets/Scripts/DataAccess.cs (39,30): Fehler CS0117: System.IO.File' does not contain a definition for AppendAllText‘

Ich habe keine Ahnung, wie dieses Problem zu lösen. Ich bleibe hier drüben.

Es wäre zu schätzen, wenn jemand dieses Problem lösen würde.

Vielen Dank im Voraus ...

+0

Es ist in .NET seit mindestens 2 durch das Aussehen von [der Dokumentation] (http://msdn.microsoft.com/en-us/library/system.io.file.appendalltext.aspx) gewesen. Welche Version von Mono verwendest du? Ist Monodroid eine eingeschränkte Version des Frameworks wie das .NET Compact Framework? – Rup

+0

Danke für Ihre Kommentare .. Ich habe diese Dokumentation gesehen, von der ich verstehe, dass ich .NET4 brauche. Ich benutze Mono 2.8.2.Ya seine Cut-Down-Version – GoCrazy

+0

Nein, Sie brauchen nicht 4: Ich sollte mit einer der Überladungsseiten verknüpft haben, die 'Supported in: 4, 3.5, 3.0, 2.0', plus Es ist auch in der reduzierten Silverlight-Laufzeit. Wenn Ihre Cut-Down-Version es nicht unterstützt, dann müssen Sie es wahrscheinlich selbst codieren: Es könnte eine .NET-Implementierung in der nicht ausgeschnittenen Mono-Quelle geben, die Sie stehlen können? – Rup

Antwort

11

Ich lief in das, wo niemand sonst in meinem Team es reproduzieren konnte.

Wir zielen auf die iOS-Plattform, und aus irgendeinem Grund haben sich meine Build-Einstellungen auf magische Weise wieder in Web Player geändert. Durch die Änderung von BACK zu iOS wurde das Problem für mich behoben.

Auf Mac, ging ich == Datei> Einstellungen beim Aufbau ...

Die "Unity" Symbol Web Player nächsten war, so dass ich schaltete es auf iOS und drücken Sie die "Platform-Switch" -Taste. Es hat eine Menge Sachen reinportiert, und als es fertig war, verschwand der Compilerfehler.

0

Sie File.AppendText versuchen:

using(StreamWriter sw = File.AppendText(
      Application.persistentDataPath + "error.log")) 
{ 
    sw.Write(e.ToString()); 
} 

, dass dies nicht der beste Weg zu tun, aber es sollte funktionieren. Ich weiß nicht, ob AppendAllText eine implizite Newline enthält - scheint nicht aus der Dokumentation - aber Sie könnten stattdessen .WriteLine wollen.

+0

Vielen Dank für Ihre Antwort .. Eigentlich habe ich versucht habe auch das. Es scheint nicht zu funktionieren. AppendAllText ist in docs http://msdn.microsoft.com/de-de/library/ms143356.aspx. prüfe es hier .. – GoCrazy

+0

Sorry, ich habe keine besseren Ideen. Wenn du sagst, dass du nicht arbeitest, meinst du nicht, in das Protokoll zu schreiben oder eine Ausnahme zu werfen oder etwas anderes? – Rup

+0

Es bleibt die Ausnahme ... – GoCrazy