2010-07-04 14 views
1

J'essaie de créer un modèle T4 pour générer une classe pour une tâche spécifique dont j'ai besoin. Cependant, quelque chose est cassé avec sa sortie.T4 générant garbage ouput, tt fichier sans erreur

Le fichier de sortie contient des caractères parasites aléatoires même lorsque le fichier .tt est vide. Je pense que c'est quelque chose à voir avec l'encodage de caractères sur le fichier .tt, peut-être.

Je peux ajouter avec succès un élément de génération de code dans un fichier edmx et il se générera correctement à moins que je ne modifie le fichier tt, que je sauvegarde, que je rétablisse le changement, que je le réenregistre. La sortie devient à nouveau vide.

Vous n'avez pas trouvé d'autres personnes rencontrant ce problème.


Exemple: TextTemplate.tt

<#@ template debug="false" hostspecific="false" language="C#" #> 

fichier de sortie: TextTemplate.cs

믯㲿䀣琠浥汰瑡⁥敤畢㵧昢污敳•潨瑳灳捥晩捩∽慦獬≥氠湡畧条㵥䌢∣⌠ാ 

Des idées, tout le monde?

Merci,

Carl

+3

Il dit, en chinois couramment, "Hey, Carl, votre encodage pourrait ne pas être correct.En outre, votre fortune est que vous rencontrerez quelqu'un d'importance aujourd'hui." –

Répondre

1

Géré pour contourner ce problème en faisant clic droit -> Ouvrir avec -> Éditeur de code source (texte) avec codage. Ramassé bien avec Encodage: (Auto-Détecter)

+1

J'ai juste travaillé autour de cela en passant à une solution VS2010 qui n'était pas un site Web, mais plutôt une application de formulaires .. pas vraiment sûr pourquoi cela a fonctionné, mais j'ai eu le même numéro exact –

0

Jetez un oeil sur le fichier de sortie en binaire. Il est possible que ce soit en fait en UTF-8 ou ASCII, mais que Visual Studio pense qu'il est en UTF-16. Pouvez-vous poster les premiers caractères de ce que vous attendez, et leur sortie binaire? (Si vous pouviez également publier l'entrée binaire, cela aiderait.)

+0

erreur générant la sortie, je crois qu'il dit. Pas sûr à 100%. J'ai manuellement ouvert le fichier, l'ai enregistré comme unicode et relance l'outil personnalisé et j'ai reçu le message que je viens de suggérer. Re-enregistrer et il est cassé à nouveau. Le Bloc-notes le signale comme un fichier UTF-8, qui est apparemment le fichier par défaut de VS. Je ne sais pas où procéder à partir de là. – Tyst

+0

J'ai également essayé quelques directives qui définissent également sa sortie sur UTF-8. Dans le code tt, je veux dire. Aucune aide – Tyst

+0

@Carl: Ne l'ouvrez pas dans un éditeur de texte et enregistrez-le sous un encodage différent - ouvrez-le avec un éditeur de fichier * binaire * et publiez les octets bruts du contenu. Mais si l'outil donne un message d'erreur, alors vous devriez aussi publier ce message d'erreur. Vous ne l'avez pas mentionné auparavant. –