2010-01-03 52 views

回答

12

Mono.GetOptions已經過時,因爲它的作者已經從地球上消失了,沒有人加強自願爲未來的維護。這就是它的缺點。

NDesk.Options/Mono.Options是「不穩定的」,因爲API實際上是不穩定的 - 如果認爲合適,我保留以不兼容的方式更改公共API的權利。 (我希望我不需要,但我保留這個權利。)這就是說,我還在身邊,所以它正在維持(或能夠維持)。

這就是爲什麼Mono.Options分佈爲 - 如果API的變化,也不要緊,因爲你有你的程序捆綁源的副本。 (這也是爲什麼NDesk.Options.dll沒有簽名 - 因此它不會被放置在GAC中,因爲GAC中的程序集有很強的假設,他們不會以不兼容的方式更改API。)

9

NDesk.Options是穩定的 - 以至於它現在被稱爲Mono.Options與Mono 2.2及以上捆綁在一起。這是建議的替代品。它被打包成一個單獨的.cs文件,而不是一個單獨的程序集,因此它不容易找到。

我不明白爲什麼Mono.GetOptions已被棄用,但反對它的一個論據是它是重量級的;它需要你定義自己的類,它繼承了它的Options類和自由散佈的屬性。

相關問題