【发布时间】:2011-07-21 11:13:24
【问题描述】:
我的项目结构如下所示:
- [解决方案名称]
- doc(文档)
- extlib(多个源项目依赖的外部库)
- [Nunit]
- [FluentValidation]
- 等
- src(源代码)
- 解决方案文件
- [C#库项目文件夹]
- [MVC 3 项目文件夹]
- [NUnit 测试项目文件夹]
我在 CruiseControl .NET 中为每个项目都有一个构建过程。但是,例如,当我从“extlib”的位置将 FluentValidation 包含在我的库项目中时,CruiseControl 不知道该目录并引发错误。
我想将所有外部库保存在一个地方(相同版本等),但这真的有必要吗?
我敢打赌,有更好的方法可以做到这一点(可能是 NuGet 包?)除了我尝试在此处设置构建过程的方式之外,最佳实践是什么?
更新:仅供参考,我知道导致错误的原因。这是因为 extlib 文件夹在我的源项目之上,但我只将源项目拉到他们的工件文件夹中进行构建。所以,为了修改这个问题,我想知道这是重新配置我的所有 CruiseControl 设置的更好途径,还是在每个项目中使用 NuGet 包等更好。
提前感谢您提供的任何帮助!
-- 肖恩
【问题讨论】:
-
ccnet 错误是什么?你能从你的csproj文件中粘贴一个sn-p吗?
-
ccnet的错误是没有找到FluentValidation库。再一次,这很有意义,因为我从我的 extlib 文件夹中引用了 fluentValidation,而 ccnet 没有它可用。我认为这可能与我提取源代码的方式有关。对于每个项目,我将分别提取其文件夹。我想我应该拉整个 repo 并检查文件夹是否有更改。
标签: c# msbuild continuous-integration dependencies cruisecontrol.net