Question

Je l'ai utilisé les modèles ActiveRecord T4 de SubSonic dans quelques projets. Aujourd'hui, j'ai ajouté les mêmes modèles de l'un de ces projets (sans les fichiers source .cs générés) à un nouveau projet.

Pour une raison quelconque quand je lance le générateur de code de modèle T4, au lieu de générer:

ActiveRecord.cs, Context.cs, StoredProcedures.cs et Structs.cs

le générateur de modèle crée:

ActiveRecord1.cs, Context1.cs, StoredProcedures1.cs et Structs1.cs à la place.

J'ai supprimé toutes les sources .cs fichiers dans le dossier ActiveRecord et il n'y a pas d'autres fichiers avec ces noms à travers toute la solution.

Bien que ce n'est pas un problème, parce que les classes correctes, etc namespaces sont générés, il est ennuyeux de voir le nombre 1 clouée à la fin des noms de fichiers.

J'utilise SubSonic 3.0.0.3.

Est-ce que quelqu'un a une idée pourquoi cela se passe?

Était-ce utile?

La solution

Une solution consiste à supprimer les fichiers générés .cs et modifier le fichier .proj manuellement. Faites un clic droit sur le projet dans VS2008 et aller projet de décharge.

Rechercher dans le fichier .proj pour ActiveRecord1.cs dans LastGenOutput et revenir à ActiveRecord.cs. répétez l'opération pour les autres fichiers. D'une certaine façon ces noms sont incrémentés.

<None Include="T4AutoGen\ActiveRecord.tt">
  <Generator>TextTemplatingFileGenerator</Generator>
  <LastGenOutput>ActiveRecord.cs</LastGenOutput>
</None>

Enregistrez le fichier un recharger le projet. Vos fichiers doivent générer correctement maintenant.

Je ne sais pas pourquoi cela se produit autre que quelques étrangetés avec des modèles T4. Cela devrait vous permettre de continuer à nouveau.

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