C# 如何在不使用GAC的情况下共享库?
我有一个图书馆,打算被许多网站使用。我现在的做法是在库的属性中,将“生成后事件命令行”设置为:复制“$(TargetPath)”“$(SolutionDir)\MyWebsite\bin\$(TargetFileName)” 每次我想让一个新网站使用共享库时,我都会添加这样一行:copy“$(TargetPath)”“$(SolutionDir)\MyWebsite2\bin\$(TargetFileName)”C# 如何在不使用GAC的情况下共享库?,c#,.net,asp.net,visual-studio-2008,.net-3.5,C#,.net,Asp.net,Visual Studio 2008,.net 3.5,我有一个图书馆,打算被许多网站使用。我现在的做法是在库的属性中,将“生成后事件命令行”设置为:复制“$(TargetPath)”“$(SolutionDir)\MyWebsite\bin\$(TargetFileName)” 每次我想让一个新网站使用共享库时,我都会添加这样一行:copy“$(TargetPath)”“$(SolutionDir)\MyWebsite2\bin\$(TargetFileName)” 除了使用GAC,还有什么简单或更好的方法可以做到这一点吗?在我看来,您的问题在于无
除了使用GAC,还有什么简单或更好的方法可以做到这一点吗?在我看来,您的问题在于无法控制该库是如何被其他项目生成和使用的。如果我是你(我不是:),我会开始通过一个单元测试合作项目来开发这个库,在这个项目中,新的功能可以独立开发和测试。一旦该功能被实现并测试为在单元测试参数内工作,手动将程序集复制到web项目的“library”文件夹中,该文件夹首先需要扩展该库(该文件夹保存该项目使用的所有编译程序集) 更好的做法是维护一个版本系统,在其中标记库的新版本,以便跟踪它所使用的确切源版本 我建议使用一种看似麻烦的工作方法的原因是,您当前的做法使您现有的网站非常脆弱,因为在库中对一个网站所做的更改实际上可能会破坏另一个网站。。。随着网站数量的增加,你不可能永远在现有网站上对共享库的新版本进行复古测试
也正是出于这些原因,我也不建议使用GAC。如果他每次为其进行新构建时都对其程序集进行版本化,只要他的安装程序在GAC中保持以前版本的完整性,将其放在GAC中不应该是一个问题。你说得对,我不应该在没有测试框架的情况下自动复制程序集。谢谢你的洞察力!!:)