none
Externe Tools Argumente RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte ein PS-Script via Externe-Tools aufrufen. Das Script liegt in meiner Projektmappe, d.h. via rechtsklick auf Projektmappe habe ich einen Ordner (Tasks) hinzugefügt. Diesen Ordner kann ich jedoch im Fileexplorer nicht finden. Dann habe ich unter Tasks ein PS-Script angelegt (auch via vs2017 Kontextmenü). Unter dem Menü-Punkt externe Tools habe ich einen Eintrag erstellt, wobei das Script unter dem Punkt "Argumente" aufgeführt wird. Dazu möchte ich gerne die Variablen nutzen bspw. $(ProjectDir)Tasks\MyScript.ps1. allerdings kennt er dieses Verzeichnis nicht. Wie bestimme ich das Projektverzeichnis?


    • Bearbeitet Zero3000 Dienstag, 8. Januar 2019 14:33
    Dienstag, 8. Januar 2019 14:32

Antworten

  • Hi,

    Projektmappenordner sind nur virtuelle Ordner. Diese werden nicht im Dateisystem erzeugt. Die Dateien, die man dort reinschiebt, liegen im Dateisystem im Root der Projektmappe (also dort, wo die .sln Datei) auch liegt.

    Ist nicht schön aber wohl nicht zu ändern.

    Wenn Du das anders haben willst, musst Du den Ordner im Projekt anlegen, nicht in der Projektmappe.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert Zero3000 Dienstag, 8. Januar 2019 16:06
    • Tag als Antwort aufgehoben Zero3000 Dienstag, 8. Januar 2019 16:07
    • Als Antwort markiert Zero3000 Donnerstag, 23. Juli 2020 23:37
    Dienstag, 8. Januar 2019 16:03
    Moderator

Alle Antworten

  • Hi,

    die möglichen Variablen für die Argumente findest Du bspw. hier:

      Verwalten externer Tools - Neue Tools zum Menü „Extras“ hinzufügen



    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport




    Dienstag, 8. Januar 2019 14:43
    Moderator
  • Es gibt ein Auswahlmenü um die Variablen zu identifizieren, dann fügt er automatisch $(ProjectDir) hinzu. Ich glaube irgendetwas stimmt nicht damit wie ich den Ordner angelegt habe.

    Das Argument "\Tasks\sealMP.ps1" für den -File-Parameter ist nicht vorhanden. Geben Sie als Argument für den -File-Parameter den Pfad zu einer vorhandenen .ps1-Datei an.


    • Bearbeitet Zero3000 Dienstag, 8. Januar 2019 14:53
    Dienstag, 8. Januar 2019 14:52
  • Hi,

    $(ProjectDir) ist wohl doch richtig und die MSDN falsch. Ich hab mal eine Aktualisierung angestoßen.

    ---

    Dein "Tasks" Ordner ist nicht im Projekt, sondern in der Projektmappe. Daher wäre wohl "$(SolutionDir)" die richtige Variable. Alternativ verschieb den Ordner in das Projekt.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Dienstag, 8. Januar 2019 15:15
    Moderator
  • So einfach ist es leider nicht. $(SolutionDir) zeigt nach "C:\Users\Zero3000\Source\Repos\SCSM_Location_List_Requiered\SCSMLocationListRequired\" dort liegt allerdings kein Ordner Tasks. Wie ich den Ordenr angelegt habe und das ich ihn im File-Explorer nicht finden konnte habe ich ja beschrieben. Daraufhin habe ich ihn im Fileexplorer noch einmal unter "C:\Users\Zero3000\Source\Repos\SCSM_Location_List_Requiered\" angelegt, denn dort hätte meines Erachtens auch VS2017 ihn ablegen müssen.
    Dienstag, 8. Januar 2019 15:53
  • Hi,

    Projektmappenordner sind nur virtuelle Ordner. Diese werden nicht im Dateisystem erzeugt. Die Dateien, die man dort reinschiebt, liegen im Dateisystem im Root der Projektmappe (also dort, wo die .sln Datei) auch liegt.

    Ist nicht schön aber wohl nicht zu ändern.

    Wenn Du das anders haben willst, musst Du den Ordner im Projekt anlegen, nicht in der Projektmappe.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    • Als Antwort markiert Zero3000 Dienstag, 8. Januar 2019 16:06
    • Tag als Antwort aufgehoben Zero3000 Dienstag, 8. Januar 2019 16:07
    • Als Antwort markiert Zero3000 Donnerstag, 23. Juli 2020 23:37
    Dienstag, 8. Januar 2019 16:03
    Moderator
  • Ich habe einen weiteren Ordner Dependencies (wie oben zu sehen), dieser enthält auch Dateien. Diese befinden sich physisch auch unter "C:\Users\Zero3000\Source\Repos\SCSM_Location_List_Requiered\Dependencies" und nicht im Root der Projektmappe. 
    Dienstag, 8. Januar 2019 16:11
  • Hi,

    nuja, mehr kann ich dir dazu leider auch nicht sagen. Wenn ich den Ordner über VS anlege, wird er nur virtuell erstellt. Woher dein anderer Ordner kommt und warum es diesen dann auch im Dateisystem gibt, weiß ich so nicht.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 8. Januar 2019 16:20
    Moderator
  • Ich vermute das es ähnlich passiert ist wie ich beschrieben habe. Ordner wurde einmal über VS und Fileexplorer angelegt und die Dateien dort hinein kopiert. Dann hat man die Dateien in VS hinzugefügt, voila. Die Dateien werden nicht dem Root hinzugefügt, sondern liegen bspw. weiterhin unter "C:\Users\Zero3000\Source\Repos\SCSM_Location_List_Requiered\Tasks\"
    Mittwoch, 9. Januar 2019 08:56