我有一个简单的项目,用于许多其他解决方案。每当我更新这个项目时,我都要记得进入使用该项目的其他解决方案,并重新编译和部署。
有没有办法实现自动化?
答案 0 :(得分:4)
如果您使用任何类型的持续集成工具,例如TeamCity,Jenkins或Cruise Control,您可以自动提交其他解决方案。
当您依赖的API发生变化时,我总是对任何不需要重新编译的解决方案感到不安。在没有重建的情况下更新充当模块的东西是有道理的,但是如果你依赖于改变的东西,你真的想确保它不会破坏别的东西。
使用CI服务器将允许您在每个解决方案上运行所需的任何类型的测试,并通知您其中一个解决方案的失败。您还可以为打包部署等内容添加步骤,或者如果您真的喜欢玩火,可以让CI服务器自动部署。
编辑:通常这都是在集成服务器上完成的,但没有理由不能在本地计算机上进行设置。
答案 1 :(得分:0)
如果您使用任何形式的持续整合,例如巡航控制,团队城市,TFS等,然后您可以轻松设置您的CI以重建您的依赖。
另一个不太优雅的解决方案可能是拥有包含所有项目的.sln文件并在该解决方案中工作。
或者,您可以添加一个post build事件,在您进行更改时构建依赖解决方案。
答案 2 :(得分:0)
在Configuration Manager
中将这些项目标记为Build / Deploy
你可能错过了。
答案 3 :(得分:0)
如果你设法找到办法,我预测会出现很大的动荡和灾难。
答案 4 :(得分:0)
重用项目是否为类库?如果是这样,我通常做的是在类库的输出bin中添加对dll的引用。每当我重新编译dll时,其他项目几乎立即检测到它(特别是Intellisense。)
但这对已部署的依赖项目不起作用。
答案 5 :(得分:0)
除了有一个构建服务器设置,这将启动其他项目的构建/发布,我不这么认为。如果你想查看一个连续的构建程序,我们已经使用了“CruiseControl”(http://cruisecontrol.sourceforge.net/),我用它来工作,这是一个很好的设置,有很多自定义的可能性。 / p>