[英]Build a simple class library for ASP.NET Core and MVC 5 Applications
[英]What is an easily maintainable way to share a common .net class library over many corporate asp.net mvc 3 web applications?
我一直在努力满足我的所有要求。
这是我们库中的内容:
给我带来麻烦的一项要求如下:
这是因为:
我对大家的问题是,您如何在类似的环境中处理通用代码?
GAC似乎比其价值还麻烦,我们希望所有应用程序都使用相同的代码,而不是在多个版本上具有多个应用程序,而必须维护所有这些。 是否有设计模式/最佳实践可以在这方面指导我们?
另外,作为奖励,如果您可以解决上述任何问题,那也很好。
谢谢!
编辑:我想接下来的问题是我们是否应该在服务器上甚至有一个包含通用dll的目录,或者是否仅应在部署/更新项目时进行部署?
首先,您将想要分离出您想要实现的目标。 不要创建一个可以完成所有任务的库,否则您将拥有一个大泥巴球 。 不要害怕创建几个可维护的库来实现您所追求的目标。 是否有特定原因需要将其存储在一个位置?
例如,您提到的几个项目是MVC或特定于Web的。 如果您有可以被MVC重用的项目,请创建一个类库,其中包含您继承的MVC基类,并在项目中引用它们。 尽可能使用单一责任原则。
关于您提到的其他项目,例如数据库连接性(如果可重用),请将其抽象到数据访问类库中并进行引用。 其他简单的操作,例如读取ini文件或创建文件,创建另一个库并将其抽象为易于使用的方法。
我更喜欢在本地复制库dll。 您永远不知道何时需要对库进行更改,但是您不希望所有项目都停止编译。 当您准备实现该库的新版本时,请复制dll并重新编译。
不知道为什么所有的仇恨都对联邦军。 它旨在解决此特定问题。 将常见的dll安装到gac,所有应用程序都可以看到它们。 需要部署一个新的,只需将其重新安装在一个地方即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.