Automatischer Recompile/Link von VB Programmen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Peter329.

    Automatischer Recompile/Link von VB Programmen

    Hi,

    ich habe etwa 10 VB Programme, die ich aus bestimmten Gründen regelmäßig neu kompilieren/linken möchte.

    Das kann ich manuell im VB Studio durchführen, aber das ist recht mühsam.

    Gibt es eine Möglichkeit, das zu automatisieren, etwa durch eine .BAT Datei oder sonstwie?

    LG
    Peter
    Ich habe versucht den Hinweis mit der MSBUILD.EXE umzusetzen.

    Auf meinem Rechner gibt es 12 .exe Dateien mit diesem Namen. Am wahrscheinlichsten sind wohl diese beiden:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe

    Mit beiden Programmen habe ich den rebuild versucht, erhalte aber den gleichen Fehler:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>msbuild p:\Daten\vbdaten\Test\Test\Test.vbproj /t:rebuild
    Microsoft (R)-Buildmodul, Version 4.0.30319.18408
    [Microsoft .NET Framework, Version 4.0.30319.18408]
    Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

    Der Buildvorgang wurde am 02.12.2013 10:03:06 gestartet.
    Projekt "p:\Daten\vbdaten\Test\Test\Test.vbproj" auf Knoten "1", rebuild Ziel(e).
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): error : The OutputPath property is not set for project 'Test.vbproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='HPD'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [p:\Daten\vbdaten\Test\Test\Test.vbproj]
    Die Erstellung des Projekts "p:\Daten\vbdaten\Test\Test\Test.vbproj" ist abgeschlossen, rebuild Ziel(e) -- FEHLER.

    Fehler beim Buildvorgang.

    Ich habe keine Ahnung was ich falsch mache oder wie ich die "OutputPath property" einstellen könnte.

    LG
    Peter
    p steht nicht für projekt sondern property.
    /p:name=value

    Set or override the specified project-level properties, where name is the property name and value is the property value. Specify each property separately, or use a semicolon or comma to separate multiple properties, as the following example shows:


    Das ist nicht das was du willst.

    damit gehts (egal ob sln oder vproj):

    Quellcode

    1. msbuild projektname.sln /t:rebuild


    Tipp: Pfad lokal in der bat ändern:

    Quellcode

    1. setlocal
    2. SET PATH=%PATH%;C:\Windows\Microsoft.NET\Framework64\v4.0.30319
    Ich habe jetzt die "Solution" eingetragen. Da kriege ich dann folgenden Fehler:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>msbuild p:\Daten\vbdaten\Test\Test.sln
    Microsoft (R)-Buildmodul, Version 4.0.30319.18408
    [Microsoft .NET Framework, Version 4.0.30319.18408]
    Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

    Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
    Der Buildvorgang wurde am 02.12.2013 13:30:57 gestartet.
    Projekt "p:\Daten\vbdaten\Test\Test.sln" auf Knoten "1" (Standardziele).
    p:\Daten\vbdaten\Test\Test.sln.metaproj : error MSB4126: Die angegebene Projektmappenkonfiguration "Debug|HPD" ist ungültig. Geben Sie mithilfe der Konfigurations- und Plattformeigenschaften eine gültige Projektmappenkonfiguration an (z. B. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU"), oder lassen Sie diese Eigenschaften leer, sodass die Standardprojektmappenkonfiguration verwendet wird. [p:\Daten\vbdaten\Test\Test.sln]
    Die Erstellung des Projekts "p:\Daten\vbdaten\Test\Test.sln" ist abgeschlossen (Standardziele) -- FEHLER.


    Fehler beim Buildvorgang.

    Ich folge dem Vorschlag der Fehlermeldung und erhalte jetzt folgenden Fehler:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>msbuild p:\Daten\vbdaten\Test\Test.sln /p:Configuration=Debug /p:Platform="Any CPU"
    Microsoft (R)-Buildmodul, Version 4.0.30319.18408
    [Microsoft .NET Framework, Version 4.0.30319.18408]
    Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

    Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
    Der Buildvorgang wurde am 02.12.2013 13:34:37 gestartet.
    Projekt "p:\Daten\vbdaten\Test\Test.sln" auf Knoten "1" (Standardziele).
    p:\Daten\vbdaten\Test\Test.sln.metaproj : error MSB4126: Die angegebene Projektmappenkonfiguration "Debug|Any CPU" ist ungültig. Geben Sie mithilfe der Konfigurations- und Plattformeigenschaften eine gültige Projektmappenkonfiguration an (z. B. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU"), oder lassen Sie diese Eigenschaften leer, sodass die Standardprojektmappenkonfiguration verwendet wird. [p:\Daten\vbdaten\Test\Test.sln]
    Die Erstellung des Projekts "p:\Daten\vbdaten\Test\Test.sln" ist abgeschlossen (Standardziele) -- FEHLER.


    Fehler beim Buildvorgang.

    Was ich statt "Any CPU" eintragen soll, ist mir schleierhaft.

    Irgendwie ist der MSBUILD Befehl super schlecht dokumentiert. Die meisten Parameter (die es offensichtlich gibt) finde ich überhaupt nicht!

    LG
    Peter


    Edit:

    Habe das Posting von markus.obi erst nach dem Senden gesehen.

    Ich hab es ausprobiert, aber auch das scheitert.

    P:\>p:\Daten\bat\vbcomp

    P:\>setlocal

    P:\>SET PATH=C:\Program Files (x86)\IBM\WebSphere MQ\java\lib;...;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

    P:\>p:

    P:\>cd Daten\vbdaten\Test

    P:\Daten\vbdaten\Test>msbuild Test.sln /t:rebuild
    Microsoft (R)-Buildmodul, Version 4.0.30319.18408
    [Microsoft .NET Framework, Version 4.0.30319.18408]
    Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

    Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
    Der Buildvorgang wurde am 02.12.2013 13:48:19 gestartet.
    Projekt "P:\Daten\vbdaten\Test\Test.sln" auf Knoten "1", rebuild Ziel(e).
    P:\Daten\vbdaten\Test\Test.sln.metaproj : error MSB4126: Die angegebene Projektmappenkonfiguration "Debug|HPD" ist ungültig. Geben Sie mithilfe der Konfigurations- und Plattformeigenschaften eine gültige Projektmappenkonfiguration an (z. B. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU"), oder lassen Sie diese Eigenschaften leer, sodass die Standardprojektmappenkonfiguration verwendet wird. [P:\Daten\vbdaten\Test\Test.sln]
    Die Erstellung des Projekts "P:\Daten\vbdaten\Test\Test.sln" ist abgeschlossen, rebuild Ziel(e) -- FEHLER.


    Fehler beim Buildvorgang.

    Ich hab keine Ahnung, was jetzt wieder falsch ist!

    LG
    Peter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Peter329“ ()

    Lies mal meinen Post oben.

    Peter329 schrieb:

    Irgendwie ist der MSBUILD Befehl super schlecht dokumentiert. Die meisten Parameter (die es offensichtlich gibt) finde ich überhaupt nicht!

    In diesem Fall absolut nicht. In Post#3 ist die doch verlinkt. Sogar mit einem rebuild Beispiel unten.

    Man muss nur lesen können. p: gibts nicht. Es gibt nur den Switch /p: mit dem du unter anderem die Build-Konfiguration auswählen kannst.
    z.B.

    Quellcode

    1. msbuild projectname.sln /p:Configuration=Release /t:rebuild

    markus.obi schrieb:

    Man muss nur lesen können. p: gibts nicht.


    ehem ... P: ist mein Laufwerksbuchstabe ... Ich habe das Abbild meiner DOS Box eingestellt.

    Peter329 schrieb:

    msbuild Test.sln /t:rebuild


    Das ist das Kommando das ich ausgeführt habe ... und das funktioniert eben nicht. Auch nicht, wenn ich den Schalter /p:Configuration=Release hinzufüge.

    LG
    Peter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Peter329“ ()

    Sorry, mein Fehler, ich bin nicht auf die Idee gekommen, dass ein Laufwerk P heißen könnte.

    Ich denk mir grad: Was zur Hölle ist HDP? *googlen nach platform hpd*
    Erster Treffer Solving MSBuild failure on platform HPD. Was ein Zufall.

    Ich blick da nicht mehr durch, aber vielleicht hilft dir der Link weiter.
    €: Bin mir nicht ganz sicher, ob das auf dein Problem zutrifft.

    Übrigens wäre es der Leserlichkeit zuträglich, wenn du den msbuild output in code tags setzen würdest (Rautensymbol im Quellcode-editor). Dann verschwinden auch die smileys.
    Herzlichen Dank erst mal für den Link!

    Ich habe einen Computer von HP. Und von daher gibt es wohl irgendwo einen Eintrag mit dieser dämlichen "HPD".

    Die Sache mit "Any CPU" hatte ich schon zuvor ausprobiert, weil das ja auch so in der Fehlermeldung drin steht. Das Ergebnis:

    Quellcode

    1. Projekt "P:\Daten\vbdaten\Test\Test.sln" auf Knoten "1" (Standardziele).
    2. P:\Daten\vbdaten\Test\Test.sln.metaproj : error MSB4126: Die angegebene Projektmappenkonfiguration "|Any CPU" ist ungültig. Geben Sie mithilfe der Konfigurations- und Plattformeigenschaften eine gültige Projektmappenkonfiguration an (z. B. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU"), oder lassen Sie diese Eigenschaften leer, sodass die Standardprojektmappenkonfiguration verwendet wird. [P:\Daten\vbdaten\Test\Test.sln]


    Wenn ich "Any CPU" ohne Quotes eingebe (so wie in dem zweiten Link), dann wird CPU als eigener Parameter interpretiert, so wie das ja auch zu erwarten ist. Und damit scheitert auch dies.

    Übrigens: die von dir verlinkte Doku hab ich mir schon durchgelesen. Aber gerade zu der Frage WAS man da als Parameter eingeben kann, dazu finde ich NICHTS. Deshalb mein etwas frustrierter Kommentar zur Qualität der Doku.

    Ich bin mit meinem Latein am Ende.

    LG
    Peter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Peter329“ ()

    Yip ... das ist natürlich einen Versuch Wert.

    Wenn die Variable "Platform" keinen Inhalt hat, dann erhalte ich folgende Fehlermeldung:

    Quellcode

    1. Die angegebene Projektmappenkonfiguration "|x86" ist ungültig.


    LG
    Peter

    [Edit]

    Ok, Leute, die Sache ist gelöst!

    Quellcode

    1. Der Buildvorgang wurde erfolgreich ausgeführt.


    Ich habe die .sln Datei mit einem Editor angeschaut und da findet man Einträge die auf die Platform: "Debug | x86" hinweisen.

    Mit dem Parameter

    Quellcode

    1. /p:Configuration=debug /p:Platform=x86


    klappt die Sache dann!

    Recht herzlichen Dank für eure Mühe und Geduld mit einem Landei!

    LG
    Peter

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Peter329“ ()