The first you should try, is to check if u can edit the 3 text lines with an editor, like Notepad++. If that works, you can run a search and replace over all the files.
If that doesn't work, you should show some code and error-messages.
Ich habe kurz nachgelesen. Der Heap bei 32-Bit-Applikationen scheint eine maximale Größe von ~1,5 GB zu haben. Das würde zu den 95991738 Elementen passen.
Aber ehrlich gesagt, weiß ich es nicht. Vielleicht kann einer von unseren Profis hier die Frage beantworten.
[Edit]
Ich habe es mal ausprobiert, wenn ich die App auf x86 stelle, kommt die Exception nach 23997908 Elementen. Mit x64 bei 95991738 Elementen.
Mach im HauptViewModel eine Eigenschaft IsPsyVisible. Die Info aus dem GrunddatenViewModel kannst du, je nachdem wie eng du die Bindung haben möchtest, per Event holen, oder direkt vom GrunddatenViewModel. Dein HauptViewModel muss also das GrunddatenViewModel kennen.
Gibt noch andere Möglichkeiten, aber das wird zu aufwendig.
Beispiel:
public bool IsPsyVisible => _grunddatenViewModel.HasPsy;
Für meine Daten benutze ich einen deutschen Cloud-Anbieter und den SeaFile-Client.
Zitat von PierreDole
Versionskontrolle ist nicht nötig.
Für Code empfehle ich dir dringend eine Versions-Controlle zu benutzen. Alleine das du dadurch lernst mit soetwas umzugehen, ist schon Grund genug. Der Umgang mit Versionscontrol-Systemen ist ein muss für Entwickler.
Gibt genügend Anbieter dafür. Das prominenteste Beispiel ist github.
PS: Ich habe extra den englischen Originalartikel (und nicht den deutschen) verlinkt, da im deutschen Datensätze (C#-Referenz) so tolle Übersetzungen wie stummgeschaltet (für mutable) enthalten sind (statt veränderbar).
Ich habe bei mir ein Browser-Plugin eingerichtet, dass "de-DE" durch "en-US" ersetzt. xD
Wie glandorf schon gesagt hast, kommst du über die Controls-Eigenschaft von deinem Form an die Controls.
Ich wollte noch den Hinweis darauf geben, dass du sowas auch über Binding lösen kannst.
Du machst eine eigene Klasse für deine Label-Informationen und legst eine ObservableCollection mit dieser Klasse an. Dann kannst du deine UI daran binden.
Zudem hatte ich Probleme, bei grösseren Dateien aus anderen Bereichen als dem Anfang Bytes zu lesen, weil da riesige Variablen benötigt werden und int32 übergeben werden musste.
Das verstehe ich nicht. Du kannst doch mit FileStream.Position direkt nach hinten springen.
@Abt:
Ist QuickIO.NET noch aktuell? Das bietet ja wohl auch sowas an:
"File chunk support for reading, comparisons and hashing."
Ich weiß jedenfalls noch, dass ich nach einem ClickOnce-Problem (nicht das erste) mich dazu entschlossen habe, ClickOnce als Problem-Zeit-Fresser ganz abzuschaffen und habe dann auf Basis von AutoUpdater.NET eine Alternative eingeführt.
Ich habe mich kürzlich aus Gründen mit dem Thema beschäftigt und bin zu dem gleichen Ergebnis gekommen. War einfach einzubauen und läuft sauber.
Zusätzlich habe ich ein Deploy-Projekt gebaut, mit ich es mit einem Klick veröffentliche kann.
Kann es sein, sobald man ein anderes Projekt hinzubindet oder nur eine Methode die eine andere EXE aufruft, das dann die Applikation sich nicht mehr automatisch mit einer neueren Version sich nicht mehr installiert?
Ohne mich jetzt bei dem Thema auszukennen, halte ich das für unwahrscheinlich.
Schau dir doch die relevante Fehlermeldung nochmal genau an:
Zitat von oehrle
ERROR DETAILS
Following errors were detected during this operation.
* [25.04.2022 07:17:06] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
- Reference in the manifest does not match the identity of the downloaded assembly MessprogrammFinder.exe.
- Source: System.Deployment
- Stack trace:
...
Dabei stellt sich nun die Frage ob es nicht sinnvoller ist, die "Teilprojekte" in die Suite zu packen, da dort in der Regel die komplette Logik vollzogen wird und Debuggen dadurch erheblich einfacher wäre.
Deine Frage lässt sich gar nicht so ohne weiteres Beantworten, merkt man ja auch an der Anzahl der Antworten. xD
COM ist die Ausgeburt der Hölle und sollte seit über 20 Jahren nicht mehr verwendet werden. Es gibt mindestens so lange auch schon bessere Alternativen. (Meine Meinung)
Es gibt in den anderen Posts schon gute Vorschläge, versuche die umzusetzen.
Du könntest noch versuchen bei dem Projekt UI und Logik von einander zu trennen.
@Th69
Zitat von Th69
Wofür du jetzt allerdings eine Schleife in der Exchange-Methode haben möchtest, kann ich nicht nachvollziehen.
Um mehrmals nacheinander Umrechnen zu können.
Zitat von Th69
Wenn du weitere Grundlagen von C# (und .NET) gelernt hast, z.B. Strukturen, Klassen, Enumerationen, Array, List<T>, Dicitonary<K, V>, dann könntest du dich noch mal an dieses Programm machen und die Währungen und Umrechnungswerte in passende Containerklassen ablegen.
Das Projekt ist doch wunderbar dafür geeignet, um diese Sachen zu lernen.
Deine konkrete Frage habe ich auf die Schnelle nicht gefunden. Wie ist die?
Abgesehen davon hat Abt schon alles gesagt. So was macht man auf keinen Fall selber, höchstens als Fingerübung, um es direkt danach weg zuwerfen.
Mir ist noch aufgefallen, dass du unglaublich viele Rechtsschreibfehler machst. Nicht nur in deinem Text, in dem fast jedes dritte Wort falsch ist, sondern auch im Code. Beispiele: 'birstDay', 'coment', 'imagePaht'. Wenn ich so was sehe, weiß ich sofort, dass ich es mit Larifari-Code zu tun habe. Geb dir da mehr Mühe, das ist eine Einstellungs-Sache.Bei der Rechtschreibung fängt es an. Legastenie ist da keine Ausrede. Verwende Tools um die Rechtschreibung zu checken und lese mehrmals, bis alles korrekt ist.
Ich lösche den Panelinhalt mit Clear(); und füge den neuen Inhalt mit Add(form) ein.
Dann müsste ja alles funktionieren. ;-)
Aber jetzt mal ernsthaft, ich kann mit den wenigen Angaben die du machst wenig anfangen.
Versuche mal deinen Text zu lesen und stell dir vor, du weißt nicht worum es geht.
Ich kann hier also nur raten. Hast du denn die Assembly in dein Projekt eingebunden, baut es?