none
was ist "Build Customization" aus C++ in C#?

    Frage

  • Hallo

    In C++ kann ich eine "Build Customization" bauen (in unserem Fall jetzt Dateien mit Endung .xy durch unseren eigenen Compiler laufen lassen während dem Build-Vorgang und dann die Resultate daraus nutzen... z.B. per #include).

    Die Frage nun: Geht das auch in C#? Und wenn ja wie? ... und, gäbe es in C++ noch 'ne andere Möglichkeit, neben dieser Art? Z.B. also VSpackage oder was weiss ich?

    Rudolf

    Sonntag, 17. April 2016 14:12

Alle Antworten

  • Hallo Rudolf,

    in der C# Desktop Entwicklung hast du in den Projekteinstellungen (Project > Project Properties) im Build Events Tab die Möglichkeit Kommandozeilenbefehle hinzuzufügen. Da kannst du auch eigene Compiler etc. aufrufen. Das geht einmal vor dem Start des Kompilierens und einmal danach. Du kannst dort jeweils mehrere Befehle einfügen.

    Sofern du auf die Ausgabeverzeichnisse achtest kannst du dann auch dynamisch generierte Dateien im Projekt referenzieren. Die Datei muss aber bereits im Projekt verlinkt sein, damit der C# Compiler die Datei auch übergeben bekommt.

    Mit der C++ Seite deiner Frage kenne ich mich nicht wirklich aus, aber grundsätzlich sollte die Erweiterungsschnittstelle Möglichkeiten bieten um in den Buildprozess einzugreifen. Zumindest bei C# weiß ich dass das geht.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 17. April 2016 14:20
  • Mit der C++ Seite deiner Frage kenne ich mich nicht wirklich aus, aber grundsätzlich sollte die Erweiterungsschnittstelle Möglichkeiten bieten um in den Buildprozess einzugreifen. Zumindest bei C# weiß ich dass das geht.

    Hallo

    Genau daran wäre ich interessiert. Diese "von Hand hinzugebauten Custom-Build-Schritte" sind nicht so ganz das wonach ich suche. Ich will eher etwas "installierbares, das meine .xy Dateien verarbeitet" ... so wie wenn's halt Visual Studio von Haus aus könnte. Mein Problem ist nur, dass ich mich hier stundenlang durch Dokus lese und noch immer nicht wirklich herausgefunden habe, nach welchem Typ Erweiterung ich suchen muss. Die meisten Beispiele und Hinweise zielen ja eher auf Kleinkram ab wie "einen Menüpunkt einfügen um im aktuell geöffneten Editor "hallo Welt" zu schreiben" oder so... oder dann lande ich wieder bei C++ Erweiterungen.

    Klar, mir fehlen sicher nur die richtigen Stichworte oder die Nerven bei Google bis Seite 1000 zu suchen oder so... oder aber: ich hab's schon lange gefunden und nicht gemerkt, dass dies das ist, was ich brauche. Das wär auch möglich...

    Also, wäre nett, wenn ich nur mal wüsste wie das Zeug heisst ... z.B. "Visual Studio Custom Project Item" oder was weiss ich...

    Oder aber... ist das vielleicht das gleiche und ich kann nur diese "Build Customizations" in C# nicht per Gui nachladen, sondern muss das in die Projektdatei schreiben? Oder halt per Erweiterung in die Projektdatei schreiben? ... ist das der Grund, warum ich nichts finde? Nutzt C# auch MsBuild, genau gleich wie C++ ?

    Rudolf


    Sonntag, 17. April 2016 14:53
  • Hallo Rudolf,

    speziell zu dem Thema weiß ich auch nicht all zu viel mehr. Ich kann maximal noch bei der Funktionsweise von C# behilflich sein.

    C# verwendet auch MSBuild mit dem Csc-Compiler (ab C# 6 Roslyn).
    Die Build-Events werden meines Wissens nach in der csproj-Datei eingetragen. Das heißt dass man diese auch abändern könnte. Die Frage ist nur ob Visual Studio die Änderung mit bekommt und dann richtig verarbeitet.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Dienstag, 19. April 2016 12:06