Как мне управлять сгенерированными классами в решении Visual Studio? - PullRequest
0 голосов
/ 22 сентября 2009

Я написал генератор кода, используя CodeDom, и он генерирует несколько классов из хранимых процедур. Я хотел бы добавить его выполнение в качестве шага сборки, а затем программно добавить все его классы в решение во время сборки.

Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 22 сентября 2009

Использование Поставщики пользовательских сборок

Subsonic также использует поставщиков сборки для генерации своего DAL и кода. Пожалуйста, проверьте дозвуковую конфигурацию для провайдера пользовательских сборок. Это открытый исходный код, вы также можете проверить его реализацию.

<configuration>
  <system.web>
    <compilation>
      <buildProviders>
        <add extension=".abp" type="SubSonic.BuildProvider, SubSonic"/>
      </buildProviders>
     </compilation>
  </system.web>
</configuration>

Он использует файл расширения .abp для запуска своего поставщика сборки.

Редактировать: Да, пользовательские провайдеры сборки - это супер функция ASP.Net. Но традиционная или другая форма разработчики могут использовать MSBuild custom задачи, чтобы получить тот же эффект. Dino Esposito предоставил отличную статью для того же. Вы можете проверить это здесь.

0 голосов
/ 23 сентября 2009

Я не знаю, как это будет работать, но здесь идет речь:

Если ваш код CodeDOM сгенерирован в отдельном проекте, сгенерируйте классы и затем добавьте имена файлов в файл .csproj (это просто XML) библиотеки. Им приказали построить в первую очередь. Затем пусть событие pre-build библиотеки запустит приложение для генерации кода, затем оно скомпилируется. Когда вы в следующий раз нажмете на VS, он попросит вас перезагрузиться, потому что файл проекта изменился, и ваши новые классы должны появиться.

Это кажется немного хакерским, но с небольшим количеством сценариев это может быть автоматизировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...