Por que o modelo ActiveRecord T4 da subsônico gera ActiveRecord1.cs e não ActiveRecord.cs?
-
22-09-2019 - |
Pergunta
Eu usei os modelos ActiveRecord T4 da Subsonic em alguns projetos. Hoje, adicionei os mesmos modelos de um desses projetos (sem os arquivos de origem .CS gerados) a um novo projeto.
Por alguma razão, quando executo o gerador de código de modelo T4, em vez de gerar:
ActiveRecord.cs
, Context.cs
, StoredProcedures.cs
e Structs.cs
O gerador de modelos cria:
ActiveRecord1.cs
, Context1.cs
, StoredProcedures1.cs
e Structs1.cs
em vez de.
Excluí todos os arquivos de fontes do .cs na pasta ActiveRecord e não há outros arquivos com esses nomes em toda a solução.
Embora isso não seja um problema, porque as classes corretas, espaços para nome etc. são gerados, é irritante ver o número 1
preso no final dos nomes de arquivos.
Estou usando o subsônico 3.0.0.3.
Alguém tem alguma ideia de por que isso está acontecendo?
Solução
Uma solução é excluir os arquivos .cs gerados e editar o arquivo .proj manualmente. Clique com o botão direito do mouse no projeto no VS2008 e no projeto de descarregamento.
Pesquise no arquivo .proj para ActiveRecord1.cs dentro do LastGenOutput e mude de volta para ActiveRecord.cs. Repita para os outros arquivos. De alguma forma, esses nomes são incrementados.
<None Include="T4AutoGen\ActiveRecord.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ActiveRecord.cs</LastGenOutput>
</None>
Salve o arquivo e recarregue o projeto. Seus arquivos devem gerar corretamente agora.
Não sei por que isso acontece além de alguma estranheza com modelos T4. Isso deve fazer você ir de novo.