Laden...

System.IO enthält keine Definition für File.SetAttributes

Erstellt von Driftdriver vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.321 Views
D
Driftdriver Themenstarter:in
2 Beiträge seit 2007
vor 16 Jahren
System.IO enthält keine Definition für File.SetAttributes

Erstmal Hallo an alle!!
Nach mittleiweile schon monatelangem studieren dieses Forums, melde ich mich jetzt doch mal mit einem Problem zu Wort, dessen Lösung ich hier nicht finden konnte!
Ich bin Anfänger, habe die Suchfunktion mittlerweile schon mehrere Hundertemale gequält und konnte für dieses Problem leider keine Antwort finden:

Ich programmiere mit Visual Studio 2005 eine kleine Anwendung für Windows Mobile 05 mittels Compact Framework 2.0!
->
Ich schreibe in eine Textfile, möchte diese nach dem SteamWrite Vorgang schließen.
Mittels File.SetAttributes sollte dies ja kein Problem sein, leider bekomme ich jedesmal folgende Fehlermeldung beim kompilieren:"System.IO enthält keine Definition für File.SetAttributes".
Nun bin draufgekommen dass dies offenbar an meiner mscorlib.dll liegt, denn wenn ich diese aus dem C/Windows/Microsoft.Net/Framework/etcetc..... nehme dann habe ich keinen Kompilierungsfehler?!
Allerdings bekomm ich dann eine Fehlermeldung, wenn ich die Funktion "SetAttributes" aufrufe, ich nehme an da diese mscorlib.dll ja nicht für !Compact! Framework ist, sondern für das Normale....

Kann mir bitte jemand helfen, habe alle Updates, usw... Kann mir vielleicht jemand seine mscorlib.dll schicken oder sagen was ich bloß falsch mache? Ich probier da jetzt schon über eine Woche...

Entschuldigt falls das hier das falsche Unterforum ist, ich wußte einfach nicht wo das HILFE-Forum ist...

MFG,
Driftdriver

664 Beiträge seit 2005
vor 16 Jahren

File.SetAttributes ist im CF nicht verfügbar. Ein Blick in die MSDN :rtfm: würde dir das ebenfalls zeigen.
Über die Dateiattribute kannst du einen Filestream übrigens nicht schließen. Zeig lieber mal was du bisher versucht hast. Dann kann man dir gezielt weiterhelfen.

343 Beiträge seit 2007
vor 16 Jahren

Hallo Driftdriver!

Ich denke du gehst das ganze zu kompliziert an.

Ich denke mal du meinst mit "SteamWrite Vorgang", dass du mit einem StreamWriter etwas in eine Textdatei schreibst. So würde ich zumindest vorgehen, wenn ich etwas in eine Textdatei schreiben wollte.
Wenn du mit dem Schreibvorgang fertig bist musst du nur den StreamWriter schließen. FERTIG.

Beispiel:


StreamWriter sw = new StreamWriter("myfile.txt");
sw.WriteLine(...);
//und nun schließen
sw.Close();

Mfg Preli

[- www.saftware.net -](http://www.saftware.net/)
D
Driftdriver Themenstarter:in
2 Beiträge seit 2007
vor 16 Jahren

Zuallererst mal vielen vielen Dank für eure rasche Hilfe!!!
Dass die Funktion FileAttributes im CF nicht verfügbar ist habe ich wohl anscheinend überlesen...

Mein Code sieht jetzt genauso aus wie von preli:


StreamWriter sw = new StreamWriter("myfile.txt");
sw.WriteLine(...);

sw.Close(); 

Vielen Dank,preli für dein Codebeispiel!!
Mein Problem ist aber dass ich Daten für mein Programm in ein txt-file speichere, jedoch sollte der Benutzer dieses File nicht sehen/bzw. einsehen können.
Zumindest sollte es schreibgeschützt sein!
Denn wenn der User es verändert oder gar löscht ist das Programm hinüber.
Aber wenn das bei CF nicht geht,dann hab ich ein Problem! 🙁

Habt ihr noch irgendeinen Tip für mich?
Nochmals vielen vielen Dank!!!!

F
10.010 Beiträge seit 2004
vor 16 Jahren

Ja, niemals davon ausgehen, das solche Textdateiein unbeschädigt bleiben.

Immer davon ausgehen, das der DMB die Datei zerstört, und dann ggf mit defaults arbeiten,
oder die Datei neu erzeugen.

343 Beiträge seit 2007
vor 16 Jahren

Tja ich bezweifle das du das Löschen einer Datei so richtig verhindern kannst, aber du kannst die Datei verschlüsseln, dann kann der Benutzer die Datei zumindest nicht lesen und somit auch nicht zu etwas sinnvollen verändern.
Im "normalen" Framework gibts da ganz einfach zu benutzende Klassen. Ob's die aber auch im CF gibt weiß ich leider nicht.
Einfach mal ein bisschen googeln.

Mfg Preli

[- www.saftware.net -](http://www.saftware.net/)