8
votes

Où est Texttransform.exe situé sur le disque dur?

Où est Texttransform.exe situé?

J'essaie de mettre en œuvre la solution dans ce post: Obtenez Visual Studio pour exécuter un modèle T4 sur chaque Construire

Cependant, je reçois une erreur

"" texttransform.exe "n'est pas reconnu comme une commande interne ou externe, Programme d'opérable ou fichier de commandes. "

Je regarde via les fichiers de programme, mais pas sûr de l'emplacement de Texttransform.exe.

t4

2 commentaires

et la recherche Windows ne peut pas le trouver?


La recherche Windows est lente et les résultats sont toujours affichés étranges.


4 Réponses :


6
votes

Il devrait être inférieur à xxx

voir: http://msdn.microsoft.com/en-us/library/bb126245.aspx


5 commentaires

Cool, merci pour le lien Tchad. Je n'ai pas VS2010, j'ai 2008. Donc, l'emplacement pour VS2008 est ici: C: \ Fichiers de programme \ Fichiers communs \ Microsoft partagé \ TextTemplating \ 1.2


@Paul, même emplacement ici, c'est pourquoi j'ai sorti la version de l'URI


Pour Visual Studio 2010, il est en% de fichiers de programme (x86)% \ Fichiers communs \ Microsoft partagé \ TextTemplat \ 10.0


Pour 2017, ce est ici: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Communauté \ Common7 \ Ide \ Texttransform.exe"


Veuillez vous reporter à StingyJack S Réponse ci-dessous concernant l'utilisation de vswhere.exe comme il trouve Texttransform.exe quelle que soit la version Visual Studio.



0
votes

Je recommanderais d'essayer ceci sur cette solution: http: // www.olegsych.com/2010/04/unerstanding-t4-msbuild-Integration

Si vous n'avez pas VS 2010, je suppose que vous êtes coincé de le faire la dure.


0 commentaires

2
votes

Quiconque venant à cette question qui utilise VS 2017 ou ultérieur devrait utiliser VSWHERE pour localiser ce fichier. Le commentaire de CodingDave est le plus proche mais qui ne fonctionnera toujours pas sur de nombreux ordinateurs.

J'ai ajouté un exemple au Microsoft Docs Article Feedback qui montre comment faire cela avec PowerShell. P>

#the path to VSWhere.exe is always in programfiles(x86)

$progFilesx86Path = [System.Environment]::ExpandEnvironmentVariables("%programfiles(x86)%")
$vsWherePath = Join-Path $progFilesx86Path "\Microsoft Visual Studio\Installer\vswhere.exe"

# this tells vswhere to use paths of the latest version of visual studio installed 
# to locate this exe anywhere in those paths, and return a single textual 
# value (not a json object or xml payload)

$ttExe = & $vsWherePath -latest -find **\TextTransform.exe -format value
if (-Not(Test-Path $ttExe)){
    throw "Could not locate TextTransform.exe"
}

#then to invoke a transformation
& "$ttExe"  c:\Source\YourTransform.tt


1 commentaires

Ceci est utile dans Msbuild, j'ai configuré une propriété <_ vswhereexe condition = "! Existe ('$ (_ transformexe)')"> $ (programfile) \ microsoft visual studio \ installateur \ vswhere.exe a ensuite utilisé une tâche EXED pour sortir à une propriété _transformexe qui pourrait ensuite être utilisée dans une cible avant de générer. Ma précédente configuration Msbuild a utilisé une sonde en cascade de chemins absolus ...



1
votes

de @CodingDave 's Commentaire
Pour VS2017, la vs2019 emplacement de Texttransform.exe sera

C: \ Program Files (x86) \ Microsoft Visual Studio \ << Version >> \ << Edition >> \ common7 \ Ide
Version -> (2017/2019)
Edition -> (Communauté / Professionnelle / Enterprise)

et dans l'événement de pré-construction, nous pouvons utiliser la macro comme
"$ (devenvdir) \ texttransform.exe" "$ (projectdir) assemblyinfo.tt"


0 commentaires