Почему мои шаблоны T4 иногда добавляют число к выходному файлу и иногда нет? Например, в одном случае мне можно было бы назвать шаблонный файл Foo.tt
и я получу выходной файл Foo.cs
. В других случаях я получу выходной файл Foo1.cs
. В каждом случае нет никого другого Foo.cs
файл, который мог бы заставлять это добавлять число. Другими словами, это - определенно не результат любого очевидного конфликта имени файла.
Я - очень анальный сохраняющий разработчик, таким образом, я был бы верная любовь, чтобы знать, как избавиться от того бесполезного числового суффикса.
Это происходит, когда Visual Studio путается и вкратце решает, что по каким-то причинам не может использовать Foo.cs в качестве вывода (обычно галлюцинаторный), поэтому будет использовать Foo1. cs, , а затем настаивает на запоминании этой настройки.
Исправление заключается в открытии файла .csproj в текстовом редакторе и обнаружении записи Foo.tt. Это должно иметь под-элемент под названием LastGenOutput. Измените его обратно на Foo.cs, сохраните файл проекта и снова откройте его в VS.
А затем -- вздох -- подождите, пока это повторится. Вы можете посмотреть http://social.msdn.microsoft.com/Forums/en/linqtosql/thread/0c0f77a6-d712-43d2-a990-555df7960123 для более подробной информации, хотя никто, кажется, не в состоянии объяснить, что заставляет VS войти в это состояние или как это остановить...
.