Question

Je suis en train de déboguer l'exécution d'un modèle T4 dans Visual Studio 2008.

Toutes les informations que je trouve sur le débogage des modèles T4 dans Visual Studio 2008 dire que vous pouvez définir un point d'arrêt (point rouge) dans le modèle comme si elle était un fichier de code régulier. J'ai le code Clarius T4 surligneur installé, donc mon modèle T4 est coloré, mais Je ne peux pas mettre un point d'arrêt. Lorsque je clique dans la marge rien ne se passe.

J'ai essayé Debugger.Break (), et il lance une nouvelle instance de VS.NET, mais il ne peut pas charger le code de mon modèle. Je reçois une boîte de dialogue qui dit: « Il n'y a pas de code source disponible pour l'emplacement actuel. » Cela se produit si j'ai le même projet chargé dans l'autre instance de si je tourne une nouvelle instance.

Ce qui donne?

Était-ce utile?

La solution 3

OK- figured it out. Le lancement d'une nouvelle instance est pas une option, peu importe ce que article Oleg dit. (Pas de Diss à M. Sych, son blog est l'évangile pour le code T4 génération!)

  1. Démarrer une deuxième instance de Visual Studio,
  2. Ouvrir un fichier (un fichier) de sorte que le menu Debug apparaît.
  3. Sélectionnez "Attacher au processus ..." et sélectionnez l'autre instance VS.NET
  4. Enregistrer votre modèle dans l'instance ci-joint VS.NET (ou clic droit et sélectionnez Exécuter outil personnalisé)

Voila.

Autres conseils

Définissez les paramètres suivants:

<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>

Ensuite, dans votre modèle

Debugger.Launch();

VS coup d'envoi du débogueur JIT dans une nouvelle instance de VS 2010

Dans Visual Studio 2013:

  1. Définir un point d'arrêt dans le fichier .tt
  2. Cliquez-droit sur le fichier .tt dans l'explorateur de solution
  3. Sélectionnez "Debug T4 modèle"
  4. Fait!

Non attacher une deuxième instance de Visual Studio nécessaire.

Assurez-vous que vous activez l'option de débogage dans la directive modèle:

<# @ langage de template = "C #" debug = "true" #>

fait T4 enregistrer le code source et fichiers de symboles nécessaires pour le débogage dans Visual Studio.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top