Mono.GetOptions軟件包已經過時,但似乎沒有任何東西可以替代它。文檔指向NDesk.Options,但NDesk自己的網頁聲稱選項不穩定。爲什麼GetOptions已經過時,計劃替換它?Mono.GetOptions爲什麼會過時?
3
A
回答
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
類和自由散佈的屬性。
相關問題
- 1. End SaveStateComplete - 爲什麼會這麼耗時?
- 2. Ajax不會過去readyState 1,爲什麼?
- 3. 爲什麼cordova會跳過我的iPhone?
- 4. 爲什麼XmlReader會跳過元素?
- 5. session.cookie_lifetime = 0時,爲什麼會話在瀏覽器關閉時不會過期?
- 6. 爲什麼asp.net會話比其超時更早過期?
- 7. 請求發送時間過長。爲什麼會這樣?
- 8. 爲什麼在我調試JBoss時,Eclipse會跳過行?
- 9. 爲什麼程序有時會「跳過」printfs?
- 10. 爲什麼Java線程不會超時
- 11. 解密時爲什麼會出現'BadPaddingException'?
- 12. 爲什麼jQuery有時會覆蓋window.onbeforeunload?
- 13. 爲什麼這有時會死機
- 14. 爲什麼getLocalhost()有時會凍結?
- 15. 爲什麼Hibernate有時會忽略FetchMode.JOIN?
- 16. 爲什麼數據庫會超時?
- 17. 爲什麼promela模型會超時?
- 18. 爲什麼計時器不會遞減?
- 19. c/C++爲什麼有時會強調爲什麼有時沒有下劃線?
- 20. ng-model爲什麼有時會預先填充,有時不會?
- 21. 爲什麼instanceof有時不會編譯,有時會返回false?
- 22. 什麼時候和爲什麼我會在C++中使用abs
- 23. 爲什麼Double GroupBy + ToList耗時過長?
- 24. 爲什麼我通過ifstream時出錯?
- 25. 爲什麼IOC根據MSDN過時了?
- 26. ASP.NET - 當HttpCookie過期已過時會發生什麼
- 27. 當我將LocalLocalNotification註冊爲過去的時間時會發生什麼?
- 28. 爲什麼textareas在超過寬度時會打破冗長的單詞(爲什麼不打破長單詞)?
- 29. 什麼時候會發生?
- 30. 爲什麼ServerHMLHttp在XMLHttp不超時時會超時?