Почему шаблон ActiveRecord T4 SubSonic генерирует ActiveRecord1.cs, а не ActiveRecord.cs?

Я использовал шаблоны ActiveRecord T4 SubSonic в нескольких проектах. Сегодня я добавил те же шаблоны из одного из этих проектов (без сгенерированных исходных файлов.cs) в новый проект.

По какой-то причине, когда я запускаю генератор кода шаблона T4, вместо генерации:

ActiveRecord.cs, Context.cs, StoredProcedures.cs а также Structs.cs

генератор шаблонов создает:

ActiveRecord1.cs, Context1.cs, StoredProcedures1.cs а также Structs1.cs вместо.

Я удалил все исходные файлы.cs в папке ActiveRecord, и во всем решении нет других файлов с этими именами.

Хотя это и не проблема, поскольку генерируются правильные классы, пространства имен и т. Д., Смотреть на число раздражает 1 прикрепленный в конце имен файлов.

Я использую SubSonic 3.0.0.3.

У кого-нибудь есть идеи, почему это происходит?

1 ответ

Решение

Решение состоит в том, чтобы удалить сгенерированные файлы.cs и отредактировать файл.proj вручную. Щелкните правой кнопкой мыши по проекту в VS2008 и перейдите к разгрузке проекта.

Найдите в файле.proj ActiveRecord1.cs в LastGenOutput и вернитесь к ActiveRecord.cs. повторите для других файлов. Каким-то образом эти имена увеличиваются.

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

Сохраните файл и перезагрузите проект. Ваши файлы должны генерироваться правильно сейчас.

Я не уверен, почему это происходит, кроме странностей с шаблонами t4. Это должно заставить вас снова идти.

Другие вопросы по тегам