Announcement

Collapse
No announcement yet.

user.ini kann nicht geladen werden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • user.ini kann nicht geladen werden

    Hallo zusammen!

    Ich habe ein Problem mit einem Projekt in Visual C# Express.
    In dem Projekt habe ich "Settings" angelegt, durch einen Klick gespeichert werden.

    [highlight=c#]private void SaveSettings()
    {
    Properties.Settings.Default.wochensoll = Convert.ToDouble(txtWochenSoll.Text);
    Properties.Settings.Default.stunden = Convert.ToDouble(txtIstStunden.Text);
    Properties.Settings.Default.schicht = cmbSchicht.Text;
    Properties.Settings.Default.anlage = cmbAnlage.Text;
    Properties.Settings.Default.Save();

    }[/highlight]

    Das funktionierte auch einwandfrei. Nachdem ich allerdings VS geschlossen hatte und später wieder öffnete, wurden die Settings nicht mehr geladen. Beim Speichern der Daten kommt dann eine Fehlermeldung: "ConfigurationErrorsException" mit dem Hinweis, dass die user.ini nicht geladen werden konnte.

    Ich hoffe mir kann jemand bei der Lösung helfen.

  • #2
    Hallo,

    bist du dir sicher dass es user.ini ist? Normal ist es user.config.
    Das Problem ist mir nicht bekannt und ich dann daher, auch da es schon sehr spärliche Infos sind, keine Lösung nennen.

    Aber verwende besser Datenbindung - hier von den Settings an die Controls - und somit brauchst du nicht händisch die Werte lesen/schreiben. Am Ende vom Programm reicht dann ein Properties.Settings.Default.Save().


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Oh, ja richtig ist natürlich user.config. Die Datei ist allerdings vorhanden. Das mit den Datenbindungen werd ich mal versuchen.

      Was mir noch einfällt, nachdem ich VS wieder geäffnet und das Projekt gewählt hatte, kam die Meldung, dass das Projekt von einem andern Computer stammen würde. Den genauen Wortlaut weiss ich nicht mehr...

      Hier mal die gesamte Fehlermeldung:

      Code:
      System.Configuration.ConfigurationErrorsException wurde nicht behandelt.
        Message=Fehler beim Speichern der Einstellungen: Beim Laden einer Konfigurationsdatei ist ein Fehler aufgetreten.: Ein Teil des Pfades "C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\pdpsdd0q.tmp" konnte nicht gefunden werden. (C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\user.config)
        Source=System
        BareMessage=Fehler beim Speichern der Einstellungen: Beim Laden einer Konfigurationsdatei ist ein Fehler aufgetreten.: Ein Teil des Pfades "C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\pdpsdd0q.tmp" konnte nicht gefunden werden. (C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\user.config)
        Line=0
        StackTrace:
             bei System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
             bei System.Configuration.LocalFileSettingsProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
             bei System.Configuration.SettingsBase.SaveCore()
             bei System.Configuration.SettingsBase.Save()
             bei System.Configuration.ApplicationSettingsBase.Save()
             bei Zeiterfassung.Form1.SaveSettings() in d:\dokumente\visual studio 2010\Projects\Zeiterfassung\Zeiterfassung\Form1.cs:Zeile 73.
             bei Zeiterfassung.Form1.button1_Click(Object sender, EventArgs e) in d:\dokumente\visual studio 2010\Projects\Zeiterfassung\Zeiterfassung\Form1.cs:Zeile 54.
             bei System.Windows.Forms.Control.OnClick(EventArgs e)
             bei System.Windows.Forms.Button.OnClick(EventArgs e)
             bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
             bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
             bei System.Windows.Forms.Control.WndProc(Message& m)
             bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
             bei System.Windows.Forms.Button.WndProc(Message& m)
             bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
             bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
             bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
             bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
             bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
             bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
             bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
             bei System.Windows.Forms.Application.Run(Form mainForm)
             bei Zeiterfassung.Program.Main() in d:\dokumente\visual studio 2010\Projects\Zeiterfassung\Zeiterfassung\Program.cs:Zeile 18.
        InnerException: System.Configuration.ConfigurationErrorsException
             Message=Beim Laden einer Konfigurationsdatei ist ein Fehler aufgetreten.: Ein Teil des Pfades "C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\pdpsdd0q.tmp" konnte nicht gefunden werden. (C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\user.config)
             Source=System.Configuration
             BareMessage=Beim Laden einer Konfigurationsdatei ist ein Fehler aufgetreten.: Ein Teil des Pfades "C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\pdpsdd0q.tmp" konnte nicht gefunden werden.
             Filename=C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\user.config
             Line=0
             StackTrace:
                  bei System.Configuration.MgmtConfigurationRecord.SaveAs(String filename, ConfigurationSaveMode saveMode, Boolean forceUpdateAll)
                  bei System.Configuration.Configuration.SaveAsImpl(String filename, ConfigurationSaveMode saveMode, Boolean forceSaveAll)
                  bei System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
             InnerException: System.IO.DirectoryNotFoundException
                  Message=Ein Teil des Pfades "C:\Users\+++\AppData\Local\Microsoft\Zeiterfassung.exe_Url_rytxolhhmgxe3qmdv3lha0sxt432s1tq\1.0.0.0\pdpsdd0q.tmp" konnte nicht gefunden werden.
                  Source=mscorlib
                  StackTrace:
                       bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
                       bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
                       bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
                       bei System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
                       bei System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension, Boolean keepFile)
                       bei System.Configuration.Internal.WriteFileContext..ctor(String filename, String templateFilename)
                       bei System.Configuration.Internal.InternalConfigHost.StaticOpenStreamForWrite(String streamName, String templateStreamName, Object& writeContext, Boolean assertPermissions)
                       bei System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForWrite(String streamName, String templateStreamName, Object& writeContext, Boolean assertPermissions)
                       bei System.Configuration.Internal.DelegatingConfigHost.OpenStreamForWrite(String streamName, String templateStreamName, Object& writeContext, Boolean assertPermissions)
                       bei System.Configuration.ClientSettingsStore.ClientSettingsConfigurationHost.OpenStreamForWrite(String streamName, String templateStreamName, Object& writeContext)
                       bei System.Configuration.UpdateConfigHost.OpenStreamForWrite(String streamName, String templateStreamName, Object& writeContext)
                       bei System.Configuration.MgmtConfigurationRecord.SaveAs(String filename, ConfigurationSaveMode saveMode, Boolean forceUpdateAll)
                  InnerException:
      Zuletzt editiert von brown78; 06.09.2011, 21:10.

      Comment


      • #4
        Hallo,

        ohne genaue Fehlermeldungen können wir nur raten und das ist nicht immer zielführend.

        Schau das mit den Bindungen vorher mal an. Vllt. löst sich das Problem ja dann schon.


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Hab die Fehlermeldung angefügt... Ja das mit den Bindungen werd ich mir dann die Tage mal zu Gemüte führen. Obwohl das so mit den Settings auch schon funktioniert hat...

          Comment


          • #6
            Ich habe gerade mal zum testen ein neues Projekt erstellt, mit nur einer Textbox und einem Button zum Speichern. Den Text speichere ich wieder ohne direkte Bindung. Nach dem erstellen hat alles funktioniert, VS geschlossen und neugestartet unes kam wieder die Meldung, dass das Projekt möglicherweise aus nicht vollständig als vertrauenswürdigen Quellen stammt usw...
            Und beim Speichern kommt wieder die ConfigurationErrorsException.

            Gab es da nicht ne Einstellung, wie Projekte von anderen Computern usw behandelt werden?
            Habe nämlich mein System mittels Image zurückgesetzt, die Datenpartition mit den Dokumenten aber natürlich nicht. Ich vermute mal dass es damit irgendwie zusammenhängt...

            Comment


            • #7
              Ich habe mir jetzt mal die Mühe gemacht und VS Express deinstalliert und mal die Testversion von VS 2010 Ultimate installiert. Das Problem ist sogar noch schlimmer geworden, wieder habe ich nur einen Button und eine Textbox in eine Form gezogen um den Text zu speichern. Jetzt kommt sofort dieser Fehler, nicht erst nach dem Schließen und neu Öffnen von VS.
              Auch ältere Projekte, bei denen das Speichern von Settings problemlos funktionierte, kommt jetzt der Fehler.

              Wenn ich das Testprojekt aber veröffentliche, funktioniert das Speichern des Textes aus der Textbox und auch das Anzeigen des gespeicherten Textes beim Laden bzw öffnen der Anwendung...

              Ich hoffe mir kann jemand noch einen Tip geben woran das liegen kann...
              Zuletzt editiert von brown78; 08.09.2011, 12:28.

              Comment


              • #8
                Hmmm...könnte ein Versionsproblem sein. Probier mal, ein Upgrade deiner Settings zu machen bevor du sie lädst. Ist nur so ne Idee aber vielleicht hilft das ja.

                [highlight=c#]
                Properties.Settings.Default.Upgrade();
                [/highlight]

                Comment


                • #9
                  Bringt leider keine Änderung
                  Mir ist auch gerade aufgefallen, wenn ich in den Settings gleich einen default Wert eintrage, dann wird dieser auch gelesen. Nur beim Speichern gibt es dann die Probleme. Die Ordner die in der Fehlermeldung angegeben sind, existieren auch nicht am Pfad AppData/Local/Microsoft/...

                  Erstellt VS Ultimate die Ordner woanders als VC# Express? In VC# Express war der Ordner nämlich vorhanden, ich hab den dann aber mal gelöscht, in der Hoffnung er würde mit dem Projekt dann auch neu erstellt...
                  Zuletzt editiert von brown78; 08.09.2011, 13:01.

                  Comment


                  • #10
                    Oh je, ich hab jetzt in der InteliTrace auflistung gesehen, dass der Zugriff auf den Pfad verweigert wurde. Hab darauf hin VS mal als Administrator gestartet, nun funktioniert das wieder alles

                    Aber schon komisch, musste bis jetzt VS nie als Admin starten...

                    Comment


                    • #11
                      Hallo,

                      jede VS-Version ist in dieser Hinsicht gleich.

                      Probier mal ab das angehängte Projekt bei dir geht. Es sollte problemlos funktionieren.

                      mfG Gü
                      Attached Files
                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                      Comment


                      • #12
                        Hab das gerade probiert. Genau das gleiche wie bei meinem Projekt. Starte ich VS ohne Admin Rechte kommt genau an der gleichen Stelle die gleiche Fehlermeldung. Mit Admin Rechten läuft alles

                        Comment


                        • #13
                          Hallo,

                          ok, jetzt wissen wir dass es die Admin-Rechte sind. Eine andere Lösung als VS als Admin ausführen fällt mir nicht ein...


                          mfG Gü
                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                          Comment

                          Working...
                          X