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
Egalement du
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"
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.
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
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
Partager