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 c# : Sélectionner tout - Visualiser dans une fenêtre à part
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
Après plusieurs essais de syntaxe, je n'arrive pas à le lancer correctement.

J'aurais essayé le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
&"$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 : Sélectionner tout - Visualiser dans une fenêtre à part
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