Entwickler-Ecke
Programmierwerkzeuge - VS-Studio Environment in Target Exec
danielf - Do 17.10.13 10:42
Titel: VS-Studio Environment in Target Exec
Hallo,
ich verwende xsltc (
http://msdn.microsoft.com/en-us/library/bb399405.aspx), um ein Assembly aus einem style sheet zu genieren. Die Generierung würde ich gern als Target in mein Projekt aufnehmen. Leider lädt VS nicht die Umgebungsvariablen im exec (ruft nur cmd auf).
Wie lade ich die VS-Umgebungsvariablen? Das ganz soll "natürlich" von der VS und .NET-Version unabhängig sein.
Prinzipiell kann ich mit $(VS100COMNTOOLS)\vsvars32.bat die Umgebungsvariablen herstellen. Wie kombiniere ich das mit exec-Element?
Danke und Gruß
Daniel
jaenicke - Do 17.10.13 11:25
Wie wäre es mit einer eigenen Batchdatei, die zuerst die vsvars32.bat aufruft und dann die xsltc.exe?
danielf - Do 17.10.13 13:51
Hallo jaenicke,
Danke für deine Antwort.
Das hätte ich vielleicht dazu schreiben können. So ist es nämlich aktuell gelöst. Finde ich ziemlich umständlich für das ausführen eines einfachen commands. Für die Wartung muss man eh schon die Projekt-Datei öffnen (oder gibt's es da mittlerweile was von VS?). Wenn man dann noch für eine "banale" Ausführung noch eine Datei öffnen muss, um zu sehen was wirklich geschieht .... Da muss es doch was besseres geben - ist doch ein hausgemachtes Problem.
Gruß
Daniel
jaenicke - Do 17.10.13 14:54
Ich weiß nicht, ob es auch direkt irgendwie geht.
Wenn du das direkt im Command sehen willst, übergebe den auszuführenden Befehl doch als Parameter an eine allgemeine Batchdatei, die die Variablen setzt und den übergebenen Befehl ausführt.
danielf - Fr 18.10.13 10:34
Löst auch nicht das Problem, wenn man das Target framework ändert. Ok, man könnte das wieder als Parameter in die batch-File aufnehmen. Trotzdem muss man das batch-File mit schleppen und irgendwie läuft ja dann doch alles auf das batch-file raus.
Schade, dass es anscheinend nichts naheliegendes gibt (set target framework environment flag). Von hinten durch die Brust ins Knie macht meistens früher oder später wieder Probleme.
Naja, ich schließe das Thema, weil es ja "funktioniert".
Gruß
Daniel
danielf - Fr 18.10.13 11:06
Und da kommt doch noch die Lösung!
DependsOnTargets="GetFrameworkPaths;GetTargetFrameworkVersion"
Wenn man diese Abhängigkeit einträgt, dann sind die Umgebungsvariable vom Framework SDK gesetzt.
Ohne Abhängigkeit:
Quelltext
1: 2: 3: 4: 5: 6:
| <Target Name="Xslt" > <Exec Command="echo FrameworkSDKDir: $(FrameworkSDKDir)"/> </Target> ------ Build started: Project: Project, Configuration: Debug Any CPU ------ FrameworkSDKDir: ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ========== |
Mit Abhängigkeit:
Quelltext
1: 2: 3: 4: 5:
| <Target Name="Xslt" DependsOnTargets="GetFrameworkPaths;GetTargetFrameworkVersion">
------ Build started: Project: Project, Configuration: Debug Any CPU ------ FrameworkSDKDir: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ========== |
Gruß
Daniel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!