我試圖讓我們的持續集成服務器(巡航控制.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