我试图让我们的持续集成服务器(巡航控制.net)与我们的解决方案一起工作。从CruiseControl的我呼吁的MSBuild来构建解决方案,我在一些问题上运行,让我解释一下解决方案的结构:MSBuild解决方案与解决方案中的项目引用的DLL
4个项目:
- 数据访问
- 的BusinessEntity
- BusinessLayer
- (项目A)
项目A是具有所有用户形式等的实际项目。 该项目已引用其他3个项目。
当在Visual Studio中编译时,一切工作当然.. 从我理解的是,MSBuild工作与VS完全不同。
当构建项目A和msBuilds我得到以下错误:
C:\CI\Project A\Source\Project A\General.vb(859,33): error BC30007: Reference required to assembly 'System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' containing the base class 'System.EnterpriseServices.ServicedComponent'. Add one to your project. [C:\CI\Setra\Source\Project A\Project A.vbproj]]]></message>
有趣的是,项目A没有引用在所有提到的组件。但是项目A中引用的DLL确实有。
当我用msbuild编译其他项目(那些生成DLL的),构建成功。
我有什么做的DLL的在主项目引用的方式感觉,但我似乎无法推测出来..
任何帮助或建议,非常感谢!
非常感谢我指出了正确的方向。将您所参与的代码添加到每个项目中解决了问题! – Chancho 2015-04-13 19:47:44