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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top