我有一个可供许多网站使用的库。我现在的方式是在库的属性中,我将“构建后事件命令行”设置为:复制“$(TargetPath)”“$(SolutionDir)\ MyWebsite \ bin \ $(TargetFileName)”
每次我想要一个新网站使用共享库时,我都会添加一个这样的新行:copy“$(TargetPath)”“$(SolutionDir)\ MyWebsite2 \ bin \ $(TargetFileName)”
除了使用GAC之外,还有一种简单或更好的方法吗?
答案 0 :(得分:2)
在我看来,你的问题是对其他项目如何生成和使用这个库缺乏控制。如果我是你(我不是:)我将开始通过单元测试协同项目开发库,其中可以独立开发和测试新功能。一旦该功能已经实施并经过测试,可以在您的单元测试参数中手动将程序集复制到Web项目的“库”文件夹中,该文件夹首先需要扩展库(此文件夹包含该项目使用的所有已编译程序集。
更好的方法是维护一个版本系统,在该系统中标记新版本的库,以便跟踪它正在使用的确切源版本。
我之所以建议看起来像是一种繁琐的工作方法,是因为您现有的做法会使您现有的网站变得非常脆弱,因为某个网站的库中所做的更改实际上可能会破坏其他网站之一......随着您所拥有的网站数量的增加,您不能永远地对现有网站进行旧版本的共享库复制测试。
由于这些原因,我不建议使用GAC。