4

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

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

那么,是否有 .Net 等同于 Ivy?我在 CodeHaus 上找到了这个网站,看起来很有希望,但内容为零。

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

4

3 回答 3

4

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

我建议安装支持本地托管 NuGet 存储库的Nexus。使用 Nexus 来管理 ivy 存储库的内容也是值得考虑的(ivy 具有对 Maven 存储库的内置支持)。

更新

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

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

于 2012-09-26T17:20:54.467 回答
1

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

不过不知道稳不稳。

于 2012-09-26T09:30:50.167 回答
1

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

我们的构建脚本是用 nant 编写的。Nant 然后调用 ant 并传递几个属性,以便它可以执行所需的 ivy 任务。我确信同样的事情也可以用 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 包含在它自己的构建文件中,完全按照它的意图去做(依赖管理),没有别的。

于 2012-10-18T04:10:10.140 回答