3 回答
TA贡献1813条经验 获得超2个赞
log4net.dll的大小为95KB。即使您将其部署100次,对于今天的硬盘也没什么关系。我出于某些原因尝试尽可能避免使用GAC:
这使部署变得更加困难,您必须告诉安装程序要放入GAC中的内容。我喜欢创建简单的xcopy设置(复制要安装的目录,删除要卸载的目录)的可能性。因为这很简单-但是一旦您必须将其放入GAC中就无法正常工作。
您必须在程序集上签名。只是让他们进入GAC...。
一旦开发人员在其Visual Studio项目中引用了GAC的某些内容,则当另一位开发人员在其PC上打开解决方案时,该引用将丢失。他必须首先将所需的程序集放入GAC,然后才能成功打开和编译解决方案。那是真正的PITA。我希望能够签出,编译和运行而不会出现错误。
TA贡献1840条经验 获得超5个赞
您应该考虑放入GAC中的唯一种类的组件是成熟且稳定的组件。对于log4net,如果您对所拥有的版本稳定,成熟感到满意,并且不太可能很快更改该版本,请随时将其放入GAC。
不要试图将可能会更改的库放置在GAC中,特别是如果您是在内部开发它们,并且仍有进一步改进的余地。而是将它们部署为私有程序集。
我见过人们传播共享代码的奇迹。他们说诸如“啊,通过此代码更改,我们将同时改进20个应用程序”。问题是,如果弄错了,您还可以同时销毁20个应用程序。我已经看到有人说“我刚刚启动了站点X。请问您可以检查站点AW以确保它们仍然可以工作吗?”。
专用程序集可能会很痛苦,但是您可能会遇到的问题仅限于针对它们部署的特定应用程序。如果您不能100%确定装配是否稳定且不成熟,请不要将其放入GAC中。
相信我,你会睡得更好。
- 3 回答
- 0 关注
- 440 浏览
添加回答
举报