2012-09-26 90 views
4

我們在我們的辦公室內使用Ivy進行依賴管理。它解決了我們列出的任何項目列表的依賴項列表,並且做得非常好,公平。它還將發佈的依賴關係發佈回我們共享的常青藤資源庫,以供未來納入其他項目。有沒有.vy相當於常春藤?

但是......它基於Java的依賴,我們認爲這是一個小缺點,如果我們能夠erradicate,那將是非常美妙的。

那麼,是否有常春藤的.Net等價物?我在CodeHaus上發現了this網站,看起來很有希望,但內容零。

我們知道NuGet可以執行私有存儲庫,但由於我們內部擁有大量代碼,因此轉換/遷移到使用NuGet來解決/發佈我們的依賴關係將是一項巨大的工作就像我們常春藤一樣。

回答

1

我們是一家.NET商店,我們正在使用常春藤。當我們開始時,我們嘗試通過Java調用使用ivy,但是轉而調用ant,以便我們可以直接使用內置的ivy任務。我們這樣做是因爲常春藤任務給了我們更多的選擇。

我們的構建腳本是用nant編寫的。 Nant然後向螞蟻發出呼叫並傳遞幾個屬性,以便它可以執行所需的常春藤任務。我確信用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打電話給螞蟻,但它運作良好。此外,常青藤被包含在自己的構建文件中,完全按照它的意圖去做(依賴管理),而不是其他任何東西。

1

有一個年輕的開源項目,聲稱是替代Maven的.Net。這裏的鏈接:http://byldan.codeplex.com/

不知道它的穩定,雖然。

+0

Blimey,那是年輕!迄今爲止2次下載!伊克。感謝這篇文章。 –

3

依賴管理,作爲一個概念,是在.NET非常新的和新興的解決方案似乎是的NuGet。

我建議你安裝Nexus支持本地hosting of NuGet repositories。使用Nexus來管理常青藤資源庫的內容也是值得考慮的(常青藤已經內置了對Maven資源庫的支持)。

更新

常春藤有一個命令行客戶端,它可能只是從你的MSBuild腳本調用:

不完全是一個.NET解決方案,但與工作能力替代完全切換到NuGet。

+0

@MarkOConnor - 謝謝,但這正是我目前正在做的,因爲我們不得不使用Java來使用Ivy調用我們的存儲庫;這是我想要拍攝的Java部分。 –