Perché modello ActiveRecord T4 di SubSonic generare ActiveRecord1.cs e non ActiveRecord.cs?
-
22-09-2019 - |
Domanda
Ho usato modelli ActiveRecord T4 di SubSonic in un paio di progetti. Oggi ho aggiunto gli stessi modelli da uno di questi progetti (senza i file di origine .cs generati) per un nuovo progetto.
Per qualche ragione quando faccio funzionare il generatore di codice template T4, invece di generare:
ActiveRecord.cs
, Context.cs
, StoredProcedures.cs
e Structs.cs
il generatore di template crea:
ActiveRecord1.cs
, Context1.cs
, StoredProcedures1.cs
e Structs1.cs
invece.
Ho cancellato tutti i cs fonti file nella cartella ActiveRecord e non ci sono altri file con questi nomi in tutta l'intera soluzione.
Anche se questo non è un problema, perché le classi corrette, gli spazi dei nomi, ecc vengono generati, è fastidioso per vedere il numero di 1
appiccicato alla fine dei nomi dei file.
sto usando SubSonic 3.0.0.3.
Qualcuno ha qualche idea del perché questo sta accadendo?
Soluzione
Una soluzione è quella di eliminare i file generati cs e modificare il file .proj manualmente. Fare clic destro sul progetto in VS2008 e andare progetto di scarico.
Cerca nel file .proj per ActiveRecord1.cs all'interno LastGenOutput e tornare al ActiveRecord.cs. ripetere per gli altri file. In qualche modo questi nomi vengono incrementati.
<None Include="T4AutoGen\ActiveRecord.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ActiveRecord.cs</LastGenOutput>
</None>
Salvare il file di ricaricare il progetto. I vostri file dovrebbero generare correttamente ora.
Non sono sicuro che il motivo per cui questo accade diverso da alcune stranezze con modelli T4. Questo dovrebbe farti andare di nuovo.