В консультационном задании они используют Subsonic 3.x (последняя версия), которая использует механизм шаблонов кода T4 (а не CodeSmith, как в 2.x)
Когда мы запускаем ее в нашей СУБД, содержащей ~ 1 000 таблиц, мы сталкиваемся с ошибкой, генерирующей файл Structs.cs. T4 / Subsonic генерирует нормально на небольших БД ....
Исключительная ситуация при выполнении кода преобразования. Процесс не может продолжаться. Было выдано следующее исключение:
System.Runtime.Remoting.RemotingException: Object
'/F9ce56f8_409c_4465_b81c_5272c8d764dc/dbet1oh1u2djvp2ildubn9nb_25.rem'
был отключен или не существует на сервере.
в Microsoft.VisualStudio.TextTemplating.TransformationRunner.get_Errors ()
в Microsoft.VisualStudio.TextTemplating.Engine.CompileAndRunCode (String
generatorCode, ITextTemplatingEngineHost host,
TemplateProcessingSession session)
C: \ Users \ BlahBlahUserName \ Documents \ Visual Studio
2008 \ EdsTry \ EdSub \ ActiveRecord \ Structs.tt
Это приводит к двум вопросам
кто-нибудь видел это и знает какие-либо обходные пути, когда T4 взрывается на
большие файлы?
И как только я решу это, я могу изменить дозвуковой, чтобы он генерировал меньше
файлы (скажем, 1000 файлов классов, а не 1 большой файл класса)
Vstudio захлебывается большими файлами классов, которые он генерирует, если мы включаем жесткость создания Subsonic в наш основной проект, поэтому мы делаем это в отдельном проекте и ссылаемся на полученную DLL, но, безусловно, должен быть способ генерировать несколько сотен файлов классов из дозвуковых против 1
файл с несколькими сотнями классов в нем.