plötzlich steht "<SubType>Form</SubType>" in den Projektdateien

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    plötzlich steht "<SubType>Form</SubType>" in den Projektdateien

    Moin!

    ich habe heute eine Anpassung gemacht und dann kamen eine Vielzahl von Fehlermeldungen. Die konnte ich mir zunächst überhaupt nicht erklären und dann habe ich nochmal neu VS gestartet und dann konnte ich kompilieren.

    Auf dem Weg dahin habe ich nochmal mir die Differenzen via SVN-Software angesehen und dann waren in einer Vielzahl von Zeilen in der *.vbproj-Datei in den Zeilen

    <Compile Include="frm_DummyFileSelect.vb">
    <SubType>Form</SubType>
    </Compile>


    Die SubType-Einträge entfernt.

    Da ich nun erst einmal kompilieren konnte habe ich mir das nicht weiter angesehen.

    Aber kann mir dennoch einer sagen, was das bedeutet??

    Gruß Jan

    Anmerkung: merkwürdigerweise wird die vbproj-Datei jetzt nicht mehr mit Differenzen gemeldet.

    jan99 schrieb:

    Aber kann mir dennoch einer sagen, was das bedeutet??
    Mögliche Alternativen für SubType sind
    • Form
    • UserControl
    • Designer
    Das ist einfach eine Kategorie, wie das Studio mit dieser Datei verfährt, wie sie im Projekttrab angezeigt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jo, und ist auch buggy.
    früher konnte man ein Form "aus dem Projekt ausschliessen" - dann flog es aus der vbproj raus, die Dateien blieben aber erhalten.
    Wann anders konnte man es wieder "zum Projekt hinzufügen" - dann wars wieder da.

    Heutzutage geht dabei die SubType-Information verloren, und das re-zugefügte Form öffnet nicht mehr im Designer.
    @ErfinderDesRades Ich habe bei mir eine Klasse FormBase, die ich nicht im Designer angezeigt haben möchte, weil da nur Log-Aufrufe stattfinden.
    Dazu steht über der Klassendeklaration

    C#-Quellcode

    1. [System.ComponentModel.DesignerCategory("Code")]
    , was sich auf die abgeleiteten Klassen überträgt.
    Da die abgeleiteten Klassen natürlich im Designer bearbeitet werden sollen, steht dort ein

    C#-Quellcode

    1. [System.ComponentModel.DesignerCategory("Form")]
    . So funktioniert alles fein säuberlich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @ErfinderDesRades Folgendes funktioniert im Studio 19, Winform:
    Form2 hinzufügen, zum Test ein paar Controls drauf.
    Sicherheitskopie von Form2 erstellen.
    Form2 aus dem Projekt entfernen.
    Hinzufügen eines vorhandenen Elements, ausschließlich Form2.vb auswählen, {Form2.Designer.vb, Form2.resx} nicht mit auswählen.
    ====
    Hier war es komisch, denn beim Doppelklick auf Form2 kam der Code.
    Doppelklick auf Form1 => Designer
    danach Doppelklick auf Form2 => ebenfalls Designer.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!