[.NET] Eigenen Datentyp in settings.settings anzeigen und verwenden

Oft kommt es vor, dass man in einem Projekt Programmeinstellungen in der settings.settings speichern möchte. Standardmäßig sind die von .NET mitgelieferten Datentypen verfügbar, jedoch sind eigene Datentypen nicht aufgelistet. Um diese verwenden zu können, sind folgende Bedingungen zu erfüllen:

  • der enstprechende Datentyp muss public sein,
  • er muss einen Standardkonstruktor haben,
  • er muss serialisierbar sein,
  • das Projekt muss einmal durchcompiliert worden sein (Projekt->Neu erstellen), damit die ganzen Abhängigkeiten im Projekt geklärt sind

Um in einer den Settings-Property Zugriff auf den eigenen Datentyp zu haben muss man bei der Typauswahl auf die Combobox (Typ) klicken, und dann “Durchsuchen…” wählen. Ist der Typ oben im Fenster in der Baumauswahl nicht gelistet, muss er unten im Feld “Ausgewählter Typ” manuell mit vollem Namespace eingetragen werden (z.B. System.IO.SuperNet.ConnectionType). Danach mit “OK” bestätigen. Nun erscheint wie von Zauberhand der gewählte eigene Datentyp in der ComboBox für die Typauswahl.

Die Zielversion von .NET Framework im Projekt einstellen

Manchmal erhält man beim compilieren eines Projektes mit einem integrierten Setupprojekt in VisualStudio 2010 folgende Warnmeldung:

WARNUNG: Die Zielversion von .NET Framework im Projekt entspricht nicht der .NET Framework-Startbedingungsversion “2.0.50727”. Aktualisieren Sie die Version der .NET Framework-Startbedingung, sodass sie der Zielversion von .NET Framework im Dialogfeld “Erweiterte Kompilierungsoptionen” (VB) oder auf der Anwendungsseite (C#, F#) entspricht.

Um Ursache dieser Warnung zu beseitigen, muss man wie folgt vorgehen:

  1. Setup->Gefundene Abhängigkeiten aufklappen
  2. Doppelklick auf “Microsoft .NET-Framework”
  3. Anforderungen für den Zielcomputer->Startbedingungen->.NET Framework wählen
  4. im Eigenschaftsfenster unter Version die benötigte Frameworkversion einstellen

Visual Studio 2005 – Setup für ein bestehendes Projekt erstellen

Ein sehr schöner Workshop zum Thema befindet sich hier: Link

neues Setup-Projekt anlegen

  • im Projektmappen-Explorer auf “Projektmappe” rechts klicken und Hinzufügen->Neues Projekt … wählen
  • Andere Projekttypen->Setup und Bereitstellung->Setup-Assistent
  • unten einen Namen und Speicherort eingeben + OK
  • im folgenden Assistenten auf Seite 2->Setup für für eine Windows-Anwendung erstellen
  • auf Seite 3 Haken bei: Lokalisierte Ressourcen…, XML-Serialisierungsassemblys, Inhaltsdateien …, Quelldateien …
  • Fertigstellen

zusätzliche Abhängigkeiten hinzufügen

  • im Projektmappen-Explorer auf das Setup-Projekt rechts klicken, Eigenschaften wählen
  • unter Konfiguration den entspr. Typ wählen
  • Ausgabedateiname anpassen
  • Button “Erforderliche Komponenten” klicken, die benötigten Komponenten anhaken (z.B. .Net Framework, Crystal Reports für .NET) und dann “Erforderliche Komponenten von demselben Speicherort wie Anwendung downloaden” wählen
  • die zus. Komponenten (z.B. .Net Framework, Crystal Reports für .NET …) werden beim Compilieren des Setup-Projektes, in gleichnamige Unterordner zum akt. Setup-Projekt hinzugefügt und deren Installation später beim Ausführen des Setups abgeprüft

zusätzliche Ordner/Dateien hinzufügen

  • häufig werden Hilfedateien, DLLs usw. benötigt
  • im Projektmappen-Explorer auf das Setup-Projekt rechts klicken->Ansicht->Dateisystem
  • im Dateisystem-Fenster auf den Anwendungsordner rechts klicken->Hinzufügen->Ordner/Datei…

allg. Eigenschaften des Installers einstellen

  • im Projektmappen-Explorer auf das Setup-Projekt links klicken
  • im Eigenschaftsfenster (Tab ‘Eigenschaften’) können nun Eigenschaften wie Author, Manufacturer, ManufacturerURL, ProductName, Title usw. eingestellt werden, diese werden später im Setup-Dialog dargestellt
  • beachten, dass keine Sonderzeichen bei den Strings eingetragen werden, die bei der Installation als Standardpfade usw. verwendet werden

Installationspfad auf dem Zielsystem voreinstellen

  • Im Projektmappen-Explorer auf das Setup-Projekt rechts klicken->Ansicht->Dateisystem
  • im Dateisystem-Fenster auf den Anwendungsordner rechts klicken->Eigenschaftsfenster
  • im Eigenschaftsfenster kann nun unter DefaultLocation der Standard-Zielpfad (z.B.: [ProgramFilesFolder][ProductName]) eingetragen werden, wobei die Bezeichner in den eckigen Klammern die Property-Namen im Projekteigenschafts-Dialog darstellen (siehe auch “allg. Eigenschaften des Installers einstellen”)

Deinstallations-Icon (Systemsteuerung->Software) festlegen

  • im Projektmappen-Explorer auf das Setup-Projekt links klicken
  • im Eigenschaftsfenster auf AddRemoveProgramsIcon->Durchsuchen…
  • im Dialog nun auf Durchsuchen… klicken
  • Suchen in: Dateisystem auf Zielcomputer, dann auf Anwendungsordner klicken, unten bei Dateityp auf “Ausführbare Dateien (*.exe) klicken, oben mit Klick “Primäre Ausgabe von …” die Exe als Icon-Resource wählen
  • fall keine “Primäre Ausgabe von …” zu finden ist, sollte erstmal eine primäre Ausgabe (Release) der Anwendung kompiliert werden.

Verknüpfungen im Startmenü erstellen

  • im Dateisystem-Editor auf den Ordner “Programmmenü des Benutzers” rechts klicken->”Hinzufügen/Ordner”
  • danach im rechten Fenster des Ordners rechts klicken und “Neue Verknüpfung erstellen”
  • im Dialog nun auf Durchsuchen… klicken
  • Suchen in: Dateisystem auf Zielcomputer, dann auf Anwendungsordner klicken und die zu startende Exe auswählen
  • danach auf der Verknüpfung rechts klicken, um für die Verknüpfung ein Icon einzustellen->Eigenschaftsfenster->Icon->Durchsuchen …
  • im Dialog nun auf Durchsuchen… klicken
  • Suchen in: Dateisystem auf Zielcomputer, dann auf Anwendungsordner klicken, unten bei Dateityp auf “Ausführbare Dateien (*.exe) klicken, oben mit Klick “Primäre Ausgabe von …” die Exe als Icon-Resource wählen

Desktopverknüpfungen erstellen – Variante 1

Unten stehende Abläufe funktionieren bei einigen Projekten unter VS 2005 :NET sehr gut, bei anderen erstaunlicherweise nicht. In diversen Foren klagen viele Programmierer ebenfalls darüber. Einen weiteren Lösungsansatz gibt es hier: Link

  • Im Projektmappen-Explorer auf das Setup-Projekt rechts klicken->Ansicht->Benutzeroberfläche
  • im Benutzeroberflächen-Editor auf Starten rechts klicken und “Dialogfeld hinzufügen” wählen, “Kontrollkästchen (A)” auswählen
  • im Baum auf “Kontrollkästchen (A)” rechts klicken und “nach oben” klicken, solange, bis der Dialog unter “Installationsordner” steht
  • im Baum auf “Kontrollkästchen (A)” rechts klicken und “Eigenschaftsfenster” wählen
  • im Eigenschaftsfenster BannerText und BodyText eingeben
  • CheckBox1Label = Desktopsymbol erstellen
  • CheckBox1Property = CBCREATEDESKTOPSYMBOLISSET
  • CheckBox1Value = Checked
  • CheckBox1Visible = True
  • alle anderen Checkboxes auf Visible = False
  • den Eintrag bei CheckBox1Property mit STRG+C kopieren (CBCREATEDESKTOPSYMBOLISSET)
  • im Dateisystem-Editor auf den Ordner “Desktop des Benutzers” links klicken
  • in den Eigenschaften des Ordners in bei “Condition” mit STRG + V die CheckBox1Property eintragen (CBCREATEDESKTOPSYMBOLISSET)
  • danach im rechten (leeren) Fenster des Ordners rechts klicken und “Neue Verknüpfung erstellen”
  • im Dialog nun auf Durchsuchen… klicken
  • Suchen in: Dateisystem auf Zielcomputer, dann auf Anwendungsordner klicken und die zu startende Exe auswählen
  • danach auf der Verknüpfung rechts klicken->Eigenschaftsfenster->Icon->Durchsuchen …
  • im Dialog nun auf Durchsuchen… klicken
  • Suchen in: Dateisystem auf Zielcomputer, dann auf Anwendungsordner klicken, unten bei Dateityp auf “Ausführbare Dateien (*.exe) klicken, oben mit Klick “Primäre Ausgabe von …” die Exe als Icon-Resource wählen

Desktopverknüpfungen erstellen – Variante 2

Eine weitere Variante, eine Desktopverknüpfung zu erstellen, funktioniert über einen Trick mit einem Alias:

  • Dialogfeld und Property hinzufügen wie bei Variante 1
  • Im Projektmappen-Explorer auf das Setup-Projekt rechts klicken->Ansicht->Dateisystem
  • hier auf Anwendungsordner rechts klicken->Hinzufügen->Projektausgabe->Primäre Ausgabe, eine zweite Primäre Ausgabe hinzufügen
  • auf die Primäre Ausgabe links klicken und im Eigenschaftsfenster->Condition die in Variante 1 erstellte Property CBCREATEDESKTOPSYMBOLISSET eintragen
  • auf die neu eingefügte Primäre Ausgabe rechts klicken->Verknüpfung erstellen
  • die Verknüpfung auf den Desktop des Benutzers ziehen, umbenennen und nach Variante 1 ein Icon zuweisen

Regular Expressions

The 30 Minute Regex Tutorial

  • Einstieg in die Materie zum Thema RegEx

regular expressions 101

  • tolle Seite zum Testen von RegEx

Regex Tester

  • tolle Seite zum Testen von RegEx

RexEgg

  • tolle Seite zum Thema RegEx

regular-expressions.info

  • Tutorials zum Thema RegEx

Regular Expression Library

  • Regular Expression Library

Regular Expression Tester für DOM

  • RegEx Tester in JavaScript/DOM
  • kurze Übersicht der gängisten Ausdrücke

RegExLab

  • Schönes Tool von Herbivore aus dem myCSharp-Forum zum Austesten von Regular-Expressions