是否有.Net相当于常春藤?

时间:2012-09-26 09:24:22

标签: .net ivy dependency-management

我们在办公室内使用常春藤进行依赖管理。它解决了我们的任何项目列表的依赖项列表,并且做得非常好,公平。它还将已发布的依赖项发布回我们的共享Ivy存储库,以便将来包含在其他项目中。

但是......它依赖于Java,我们认为这是一个小缺点,如果我们可以根除,那就太棒了。

那么,是否存在常春藤的.Net等价物?我在CodeHaus上找到了this网站,看起来很有希望,但内容却没有。

我们知道NuGet可以执行私有存储库,但由于我们内部拥有大量代码,转换/迁移到使用NuGet以相同方式解析/发布依赖关系将是一项巨大的工作。和常春藤一样。

3 个答案:

答案 0 :(得分:4)

作为一个概念,依赖管理在.NET中是非常新的,新兴的解决方案似乎是NuGet。

我建议安装支持本地Nexushosting of NuGet repositories。使用Nexus管理常春藤存储库的内容也是值得考虑的(常春藤有内置的Maven存储库支持)。

更新

Ivy有一个命令行客户端,可以从你的msbuild脚本调用:

不完全是.Net解决方案,而是完全切换到NuGet的可行替代方案。

答案 1 :(得分:1)

有一个年轻的开源项目声称是.Net的替代Maven。这是链接:http://byldan.codeplex.com/

不知道它是否稳定。

答案 2 :(得分:1)

我们是一家.NET商店,我们正在使用常春藤。当我们开始时,我们尝试通过java调用使用常春藤,但切换到调用ant,以便我们可以直接使用内置的常春藤任务。我们这样做是因为常春藤任务为我们提供了更多选择。

我们的构建脚本是用nant编写的。然后Nant调用ant并传递几个属性,以便它可以执行所需的常春藤任务。我确信MSBuild可以做同样的事情。

<exec program="C:\ant\1.8.2\bin\ant.bat" commandline="-buildfile ${build.dir}\${ivy.tasks.build.file} -verbose -Divy.properties.file=${ivy.properties} retrieve" verbose="true"></exec>

从nant调用ant感觉有点古怪,但效果很好。另外,ivy包含在自己的构建文件中,完全按照它的意图(依赖管理)而不是其他内容。