Почему шаблон 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. Это должно заставить вас снова идти.