StartProcess et paramètres
Bonjour à tous,
J'essaie de créer un script pour pouvoir générer des T4 dans mon projet.
Alors en C#, le code fonctionne très bien avec un Process-Start
Code:
1 2 3
|
var proc = Process.Start(@"C:\Program Files (x86)\Common Files\Microsoft Shared\TextTemplating\14.0\TextTransform.exe",
@" -I ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes"" -a !!NamespaceHint!MyNamespace -dp T4VSHost!Microsoft.Data.Entity.Design.VisualStudio.Directives.FallbackT4VSHostProcessor!""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Microsoft.Data.Entity.Design.dll"" C:\Temp\MyTemplate.tt"); |
J'ai donc tenté une conversion en powershell et là, c'est le drame :mrgreen:
Après plusieurs essais de syntaxe, je n'arrive pas à le lancer correctement.
J'aurais essayé le
Code:
&"$exe" -a !!NamespaceHint!MyNamespace -I '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes"' -dp "T4VSHost!Microsoft.Data.Entity.Design.VisualStudio.Directives.FallbackT4VSHostProcessor!'"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Microsoft.Data.Entity.Design.dll"'" "$arg1"
Egalement du
Code:
1 2 3 4 5 6
| $templatefilePath = "c:\Temp\MyTemplate.tt"
$param1 = '-I "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes"'
$param2 = '-a !!NamespaceHint!MyNamespace'
$param3 = '-dp T4VSHost!Microsoft.Data.Entity.Design.VisualStudio.Directives.FallbackT4VSHostProcessor!""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Microsoft.Data.Entity.Design.dll""'
Start-Process $exe -ArgumentList $param1, $param2, $param3, $templatefilePath -Verb RunAs -Wait |
Dans tous les cas, il bloque sur la conversion de -dp T4VSHost!Microsoft.Data.Entity.Design.VisualStudio.Directives.FallbackT4VSHostProcessor!""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Microsoft.Data.Entity.Design.dll"" en paramètre.
Je pense que le souci vient des quotes mais .... impossible de le résoudre.
Je suis preneur de toute suggestion / exemple de code / ...
Par avance, merci de votre aide