2009-08-26 11 views
2

Nous sommes en train d'écrire une application qui utilisera T4 pour générer Flex/Actionscript à compiler en SWF. Nous aimerions distribuer cette application aux utilisateurs qui n'auront pas VS. J'ai cherché et recherché et n'ai trouvé aucune information n'importe où sur redistribuant microsoft.visualstudio.texttemplating.dll avec vos applications, excepté sur ce projet de plex de code (http://customtemplating.codeplex.com/) qui permet d'héberger votre propre constructeur de T4 (qui utilise et inclut une copie de microsoft.visualstudio.texttemplating.dll).Distribution de microsoft.visualstudio.texttemplating.dll avec l'application personnalisée

Alors, est-ce que quelqu'un sait à coup sûr ou pourrait me dire où je peux trouver des informations sur l'inclusion de cette DLL dans notre application?

Merci d'avance! Ilya

+4

Je vote pour fermer cette question hors sujet, car il devrait être demandé à un avocat. – BradleyDotNET

Répondre

4

J'ai envoyé un courriel à Tim Cools du projet Custom Templating sur CodePlex et il a envoyé un courriel MS rep de ce fil (http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/1ab0bf3f-2810-4adf-bf75-900b98dee8e2) avec la même question. Voici la réponse:

"Si un utilisateur a installé VS2008 ou plus, il aura la DLL installée, il n'y a pas de redistribuable, s'il est sur VS2005, il devra installer le redistribuable DSL, car il est Il n'est pas inclus dans la boîte VS2005, mais cela nécessite d'avoir le VS2005 installé (comme indiqué clairement dans le fil auquel vous faites référence)

Donc la réponse courte est que tous les utilisateurs doivent avoir VS installé pour utiliser cette DLL. " Plus tard, il y a un redistribuable qui contient la DLL: Microsoft Visual Studio 2008 Shell (mode intégré) Package redistribuable [lien supprimé - nouvelle limite d'utilisateur] Mais il est beaucoup trop grand (315.9 MB) en comparaison avec la DLL (84 kb). "

Avec ceci, je suis d'accord.

La réponse finale, cependant, semble se situer dans T4 Beta VS 2010, comme indiqué ici: [lien supprimé - nouvelle limite utilisateur]

« [T] voici déjà quelques nouvelles fonctionnalités pour T4 en Beta1 de VS 2010, notamment la possibilité d'avoir un template pré-traité qui se compile en code sans dépendance sur le runtime T4 Vous pouvez en apprendre un peu plus sur son blog sur [link removed - new user limit] et [link removed - nouvelle limite d'utilisateur] "

Donc, c'est ce que nous allons probablement faire avec. Prétraitez les modèles afin qu'ils n'aient aucune dépendance. Je voulais juste partager avec tout le monde ce que j'ai trouvé.

1

Je suis assez sûr que ce n'est pas autorisé. Si Microsoft autorise la redistribution d'un paquet, il inclut un redist.txt ou le place dans un dossier redist.

0

Dans VS2010, ils ont déplacé les dépendances que T4 utilise pour une classe externe. Pouvez-vous utiliser une version bêta de VS2010 pour créer les dépendances?

4

J'ai écrit une implémentation proprement inversée d'un moteur T4 pour l'IDE MonoDevelop. Il est open-source, sous licence permissive MIT/X11, de sorte que vous êtes libre d'intégrer le moteur dans votre application ou de le redistribuer. Il existe également une implémentation de l'outil de ligne de commande TextTransform.exe et quelques API dans l'espace de noms Mono.TextTemplating pour faciliter l'hébergement du moteur.

La seule réelle fonctionnalité manquante est en ce moment les fournisseurs de directive sur mesure - mais patches pour cela sont :-) Bienvenue

Vous pouvez obtenir le code de monodevelop/main/src/addins/TextTemplating Mono SVN.

+0

Merci d'avoir signalé cela, Michael. J'ai vu une mention de TextTemplating dans Mono en ligne mais ne pas avoir travaillé avec Mono auparavant eu du mal à localiser la bibliothèque. Nous avons fini par utiliser Spark View Engine (http://sparkviewengine.com/) qui servira parfaitement nos besoins, mais il est bon de savoir qu'il existe une alternative similaire à T4. – Ilya

0

J'ai eu un problème similaire, mais impliquant un serveur de construction.

Pour le bien des autres qui ont besoin d'exécuter la génération de texte sur un serveur de build (pas un scénario de redistribution du point de vue juridique), Microsoft recommends to copy the files manually:

texte Transformation dans une version serveur

Si votre serveur de build fonctionne sur un ordinateur sur lequel Visual studio n'est pas installé, vous devez copier les fichiers suivants à l'accumulation ordinateur à partir d'un ordinateur sur lequel Visual studio SDK est installé:

\Program Files\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Assemblies\v4.0\ 

    Microsoft.VisualStudio.TextTemplating.11.0.dll 
    Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.dll 
    Microsoft.VisualStudio.TextTemplating.VSHost.11.0.dll 

\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v11.0\ 

    Microsoft.VisualStudio.TextTemplating.Sdk.Host.11.0.dll 

\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\ 

    Microsoft.VisualStudio.TextTemplating.Modeling.11.0.dll 

Mise à jour: Finalement, je trouve les fichiers dans mon GAC, mais nulle part ailleurs. Après l'installation de Visual Studio 2010 SDK (sur le serveur de génération), ils sont apparus dans C:\Program Files (x86)\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Assemblies\v4.0 mais pas dans le GAC sur cette machine. Donc, je fini par faire:

  1. Installez le SDK VS2010 sur le serveur
  2. build
  3. Enregistrer les assemblées dans le GAC manuellement