Laden...

Forenbeiträge von colophonius Ingesamt 9 Beiträge

25.10.2022 - 15:30 Uhr

Es ist doch noch nicht gelöst. Gestern hatte VS wieder die Einstellungen zurückgesetzt. Ich habe dann folgendes getan:

  • eine Vorlage für die .gitignore besorgt und sie um meine Anpassungen erweitert.
  • mittels git init in einem neuen Ordner ein neues Repo erstellt und die gitignore dorthin versetzt
  • alle Dateien der Solution in den Ordner kopiert und mittels git add dem Rep übergeben und commitet
  • da ich die Repos auf einem Server haben möchte, habe ich mittels git clone --bare ein Abbild auf dem Server abgelegt
  • den lokalen Cache von Visual Studio gelöscht und dann im VS mittels "Repository klonen..." eine lokale Kopie erzeugt

Aber auch das hat nicht den vollen Erfolg gebracht.

Ich denke, dass dies kein Problem von git ist, sondern von VS. Solange ich VS starte und immer dasselbe Repo öffne, bleiben die Einstellungen erhalten. Erst wenn ich ein anderes Repo öffne, setzt VS die Einstellungen zurück.

21.10.2022 - 15:32 Uhr

Für die Hinweise bin ich dankbar. Aber ich sag mal so, ich habe nicht nach Links gefragt damit ich mich selber schlau machen kann. Ich habe schon davor ziemlich lange recherchiert. Ich wollte von einem erfahrenen Entwickler wissen wie man an die Sache rangehen soll. Mit welchem Algorithmus kann man das realisieren. Es ist mir klar, dass man keine fertige Lösung erwarten soll und dass Leute keine Lust haben hier lange Codes zu generieren. Aber bei kleinen Programmen/Aufgabestellungen kann man doch etwas genauer auf den Code eingehen. Es ist nicht das Erste Mal, dass ich ein paar Codezeilen und ein paar Links bekommen habe, die mein Problem nicht lösten.

Ich übersetze jetzt mal ins Bauwesen.

Ein Laie hat gelesen, dass man mit Steinen und Mörtel eine Wand errichten kann. Er geht in den Baumarkt und kauft sich Steine und Fertigmörtel. Zu Hause angekommen legt er die Steine dorthin wo die Wand stehen soll. Dann wirft er den Mörtel darüber und wundert sich, dass die Wand nicht stabil ist.

Enttäuscht geht er zu einer Baufirma und fragt nach Lösungen. Er erfährt, das die Steine in Waage gesetzt werden müssen, der Mörtel mit Wasser vermischt wird und zwischen die Steine kommt. Er geht nach Hause und berichtet enttäuscht seiner Frau, dass die erfahrenen Maurer der Baufirma nicht einmal die kleine Wand errichten wollten.

21.10.2022 - 10:41 Uhr

Meinst Du "Startprojekte" auf Projekt-Ebene, dann wird genau das in den *-user Dateien hinterlegt (wie auch offene Tabs etc).

Nein, ich meinte die in der Projektmappe hinterlegten Projekte, die z. B. beim Debuggen gestartet werden sollen. In meinen Projektmappen gibt es immer ein Projekt für den App-Server und den Client. Und beide sollen natürlich starten.

Ich habe es jetzt hinbekommen, indem ich das Repo mittels forcen aufgeräumt und die gitignore nochmals angepasst habe.

Vielen Dank an Euch

20.10.2022 - 14:59 Uhr

Meine Repos liegen ja derzeit nur lokal vor. Mit Öffnen meine ich, das Auswählen eines Repos unten rechts in VS oder über das Menü Git.

Ich habe ja noch ein mageres Verständnis von git. Vielleicht sollte ich mein lokales Repo einfach mal nach github pushen und dieses dann klonen.

20.10.2022 - 14:31 Uhr

Danke für eure Erklärungen. Diese decken sich mit meinem Wissen über Source-Verwaltungen.

Ich habe .gitignore-Dateien. Diese sind von VS automatisch erstellt worden, als ich z.B. die obj-Ordner aus der Überwachung nahm. Auch der .vs-Ordner ist in der Datei hinterlegt. Einzig die .csproj.user-Dateien liegen noch im Repo. Diese habe ich jetzt beispielhaft für ein Repo manuell in der .gitignore-Datei hinterlegt.

Eine Änderung hat sich leider nicht ergeben.

Ich hatte jetzt noch die Idee, dass der Virenscanner ein Schreiben im Ordner .vs verhindert. Aber dem ist nicht so. Ein Binärvergleich mit einer zuvor erstellten Kopie ergab Unterschiede.

20.10.2022 - 13:19 Uhr

Hallo Community,

ich bin vor kurzem von VS 2019 auf VS 2022 umgestiegen. Im Zuge dessen habe ich auch von Visual Source Safe auf git umgestellt und die Solutions in lokale Repositorys überführt. Das hat eigentlich alles ohne große Probleme geklappt. Das Arbeiten mit git und VS 2022 funktioniert.

Allerdings. Wenn ich ein Rep öffne, muss ich jedesmal bestimmte Einstellungen erneut konfigurieren. Dazu zählen z. B. die Startprojekte. Ich habe daraufhin versucht zu erkunden, wo diese Informationen gespeichert werden. Meiner Meinung nach liegen diese Info's in den .suo-Dateien. Ich hatte nun die Idee, diese Dateien zu untersuchen und die Berechtigungen auf diese Dateien zu prüfen. Sieht alles i.O. aus. Auch das SysInternals-Tool Procmon brachte keine neuen Erkenntnisse. So richtig eine Idee (außer eine komplette Neuinstallation) habe ich jetzt nicht mehr.

Habt Ihr noch Ideen?

Beste Grüße

VS 2022 Professional, git 2.37.3

11.01.2021 - 09:08 Uhr

Das Grundproblem ist das gem.
>

Controls die Children von

  • Panel
  • GroupBox
  • PictureBox
  • ProgressBar
  • Splitter
  • Label
  • LinkLabel
    sind, nicht per Focus() oder Select() den Fokus erhalten können ...

Das interpretiere ich anders: Controls, die von den benannten **abgeleitet **werden, können keinen Focus erhalten.

Aber schön, dass du eine Lösung gefunden hast.

05.01.2021 - 11:37 Uhr

Hallo Christian,

das Problem hierbei ist, dass ein Formular keine einfache Liste aller Controls hat. Die Auflistung Form.Controls liefert genau ein Control, nämlich das TabControl.

Du kannst also ActiveControl nicht dein DataGridView zuweisen, weil es nicht Mitglied der Controlsauflistung des TabControl ist.

Die Controls eines Formulars sind verschachtelt. Das DGV ist Mitglied der Controls vom inneren SplitContainer.

In splitContainerInnen.Controls[1].Controls findest du dein DGV.

Viele Grüße
Ralph

10.05.2011 - 15:30 Uhr

Ich gehe mal davon aus, dass die Methode Bestandteil eines Programmes ist, wo in einer höheren Ebene Code für das Abfangen von Fehlern ist.

Vielleicht gibt es in dem Webdokument mehr als 14 Bilder. Dann würdest du zwar 14 Messageboxen bekommen, aber die 15. nicht mehr da der Code bei


...
bilder_gw[bilder_gw_zaehler] = bild_quelle.Substring(suche_gw_1, suche_gw_2 - suche_gw_1);
...

in den Catch-Block fliegt. Dein restliches Programm läuft dann problemlos weiter.