如何使用构建服务器上的依赖项来集成应用程序?
我想在 TFS 构建服务器上激活 Prism 应用程序的持续集成。实际上,构建控制器无法编译应用程序,因为它没有 Prism 库。 Prism 已在我的开发机器上的 Visual Studio 中注册,项目只需引用它即可。我想知道是否应该签入项目中的库,或者应该在构建服务器上安装该库。
那么,您使用什么实践来使用构建服务器上的依赖项来集成应用程序呢?
I would like to activate continuous integration for a Prism application on a TFS build server. Actually the build controller is not able to compile the application because it does not have the Prism Library. Prism is registered in my Visual Studio on my developing machine and the project simply reference it. I was wondering if I should checkin the library within the project or should I install the library on the build server.
So what practice do you use to integrate application using dependencies on a build server?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一般来说,检查必要的库为您提供了设置新的构建控制器所需时间更少的优势。
我们在这个问题上使用混合方法:
- log4net、Rhino、NHibernate 等驻留在源代码管理中的共享目录上
- 需要设置和/或许可的其他软件包(Infragistics、NCover 等)安装在构建控制器上
我对 Prism 只有非常基本的知识,“Prism lib”实际上是指 5 个 Microsoft 库
Microsoft.Practices.Composite.dll
Microsoft.Practices.Composite.Presentation.dll
Microsoft.Practices.Composite.UnityExtensions.dll
Microsoft.Practices.ServiceLocation.dll
Microsoft.Practices.Unity.Silverlight.dll
如果是,我们肯定会将它们放在源代码管理中
In general, checking in the necessary Libs provides you with the advantage that setting up a new build controller requires less time.
We use a mixed approach on the matter:
- log4net, Rhino, NHibernate etc reside on a shared Dir within the source control
- Other packages that require setup and/or licensing (Infragistics, NCover etc) are installed on the build controller
I have only very basic knowledge on Prism, by 'Prism lib' do you actually mean the 5 Microsoft libraries
Microsoft.Practices.Composite.dll
Microsoft.Practices.Composite.Presentation.dll
Microsoft.Practices.Composite.UnityExtensions.dll
Microsoft.Practices.ServiceLocation.dll
Microsoft.Practices.Unity.Silverlight.dll
If yes, we would have placed them definitely within the source control
我最终选择了基于 pantelif 想法的解决方案。
我没有手动签入和管理依赖关系,而是使用 NuGet 来引用包。首先,它非常适合源代码控制,因为它会签出构建项目所需的任何文件。其次,它支持库的轻松更新。
感谢您的帮助。
I finally opted for a solution based on pantelif idea.
Instead of manually checking in and managing depedencies manually, I used NuGet to reference packages. Firstly it is perfectly suitable for source control as it checks-out any file required to build the project. Secondly it supports easy updates of the libraries.
Thanks for your help.