我有一個解決方案,包括了多個項目,包括:更新.NET項目引用(在配置文件中)
Foo.Bar.Client
Foo.Common
Foo.Bar.Client
取決於組件Foo.Common
。而且,Foo.Common
沒有自己的配置文件;它的設置存儲在使用它的客戶端應用程序的配置文件中,在本例中爲Foo.Bar.Client
。
因此,Foo.Bar.Client
配置文件包含
<configSections>
<section name="BletchConfiguration"
type="Foo.Common.Bletch, Version=1.1.0.0, ..."/>
....
</configSections>
我一直在負責調整我們的版本編號,使「修訂」部分對應於最新的更改集(在我們的情況下,最新版本號,因爲我們正在使用Subversion),例如從「1.1.0.0」到「1.1.0.12345」。
所以我實現了一個「shared」assembly-version-info模塊,如here所述。而且我修改了我們的NAnt構建腳本以獲取版本號並更新共享的assembly-info文件。
但是,我沒有指望版本號被嵌入到配置文件中。是否有一種(相對)無痛的方式來自動更新配置文件中的版本號?
顯然,我可以將「普通」程序集分解爲單獨的解決方案。
我也可以使用IoC配置通用組件,這將消除對特定於組件的配置節的需求。
然而,這些方法都涉及一些風險和時間......我相信這兩種方法如果可能(至少現在)寧願避免。
您將無法指點我一些文件,你會嗎?我一直在思考(和搜索)這些方面,但是我還沒有找到任何東西來表明'type'的哪些部分可以省略,什麼時候可以省略。 – David
我已經更新了我的答案以解決您的問題。 – Adam