首页 / 知识
关于自动化:在自动化版本中管理生成代码的最佳方法?
2023-04-14 08:21:00

Best way to manage generated code in an automated build?在我的自动NAnt构建中,我们有一个步骤(使用SubSonic)从数据库生成大量代码,并将这些代码分为与数据库中的架构名称匹配的文件夹。例如:
模式名称用于隔离应用程序所需的生成类。例如,有一个ABC应用程序,它将从此中央文件夹中提取生成的代码。我正在像这样的预构建事件上这样做:
因此,在每次构建时,Nant脚本都会运行生成器,该生成器会将所有代码放入一个中央存放区,然后启动解决方案构建...其中包括需要生成项目的每个项目的预构建事件类。 这就是我所看到的摩擦: 1)每个新应用都需要设置此预构建事件。必须要做的事真是太糟糕了。 2)在构建服务器中,我们不会生成代码,因此在每个命令之前我实际上都有一个IF $ {ConfigurationName)==" Debug",因此在发行版本中不会发生这种情况 3)有时命令会失败,这会导致本地构建失败。如果出现以下情况,它将失败: 通常这些只是次要的修复,我们只是破解了一种方法来启动一个新项目或一台新机器并在构建中运行,但这阻止了我一键构建Nirvana。 因此,我想听听一些建议,以期改善它的耐用性。也许将代码复制到应用程序文件夹中移到NAnt脚本中?在我看来,这有点倒退,但我愿意为此倾听。 好的,开火:) 您的数据库架构多久更改一次? 是否无法按需生成与数据库相关的文件(例如,当模式更改时),然后将其检入代码存储库? 如果数据库模式不变,则还可以打包已编译的* .cs类,并将存档分发到其他项目。 是的,我想将VS排除在等式之外,以便从VS构建只是简单地编译代码和引用。 我可以管理NAnt脚本...我只是想知道人们是否对拥有1个NAnt脚本有建议,或者每个项目可能有一个建议可以将代码推送到项目中而不是被拉走。 这确实意味着您必须选择加入才能生成代码。 我们的解决方案中有两个项目完全由生成的代码构建而成。基本上,我们将代码生成器.exe作为另一个项目的后构建步骤运行,并与生成代码一起使Visual Studio的活动实例自动化,以确保生成的项目在解决方案中,并且具有所有内容。生成的代码文件,并根据需要将它们检出/添加到TFS。 它在VS自动化阶段很少脱落,我们必须"手动"运行它,但这通常仅在您打开多个VS实例且其中> 1个解决方案实例打开且无法计算的情况下应该自动执行哪一个。 我们的解决方案和过程使得在我们进行自动构建之前,应该始终完成并正确进行生成,因此这种方法可能对您不起作用。 |
最新内容
相关内容
linux生成静态库命令?
linux生成静态库命令?,工程,设备,代码,管理,通用,入口,静态,文件,链接,命令,linux+创建静态库出现C+1+代表什么?静态库 可以把它想象成是一些linux编译源代码命令?
linux编译源代码命令?,工具,代码,百度,最新,环境,项目,系统,电脑,密码,内核,linux怎样编译git源码包1、linux的源码是在/usr/src这个目录下,此linux命令提交代码?
linux命令提交代码?,工作,系统,地址,代码,命令,数据,信息,目录,标准,发行,求助:LINUX常用SHELL命令你可以通过打开Linux的terminal(终端)来执行Slinux生成公钥的命令?
linux生成公钥的命令?,密码,证书,系统,名称,状态,工具,电脑,软件,公司,管理,linux下怎样设置ssh无密码登录1、ssh 19160.3 无须密码,直接登录。linux代码同步命令?
linux代码同步命令?,时间,服务,系统,地址,代码,网络,通信,图片,风险,管理,linux系统时钟同步命令1、因此使用ntpdate同步可能会引发风险,因此该linux命令错误代码?
linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Linux管理常见错误1、检查权限:使用文件浏览器和终端,检查文件的访问linux同步代码命令?
linux同步代码命令?,时间,系统,通信,网络,标准,图片,服务,代码,线程,单位,Linux下线程同步的几种方法1、线程同步的方式包括:互斥锁、读写锁、linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux拉取代码命令?
linux拉取代码命令?,代码,工作,地址,命令,数据,系统,单位,生产,软件,目录,linux下wsdl2java获取源码命令首先,连接相应linux主机,进入到linux命linux数据库查找命令?
linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,在linux中如何用命令查找文件在哪使用查找命令 “find”命令允许linux输入命令的步骤?
linux输入命令的步骤?,系统,工作,命令,发行,第三,数字,时间,管理,首开,基础,linux中使用vi指令后怎么输入?[Ctrl]+[f]:屏幕向下移动一页,相当于[linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令