我有一个解决方案,包括了多个项目,包括:更新.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