Почему шаблон ActiveRecord T4 SubSonic генерирует ActiveRecord1.cs, а не ActiveRecord.cs? - PullRequest
1 голос
/ 26 января 2010

Я использовал шаблоны SubRonic ActiveRecord T4 в нескольких проектах. Сегодня я добавил те же шаблоны из одного из этих проектов (без сгенерированных исходных файлов .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 Ответ

4 голосов
/ 26 февраля 2010

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

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

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

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

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

...