抱歉,我是一名老派程序员,解决方案的所有项目都用于定位相同的.Net框架。但是,我看到开发人员创建引用.Net 4.5.1类库的.Net 4.6.1项目。
在较新的MVC / Web中引用旧版本的类库是否可以 Api项目?
对于绿色领域项目,通过混合不同的运行时间,我们不会遇到类似DLL地狱的类似情况,更不用说由于在生产服务器中同时加载运行时间而导致的性能损失。
答案 0 :(得分:3)
这些天只有2 Runtimes(如果包含1.0和1.1,则为4天)。有2.0和4.0,然后在运行它的机器上有不同版本的版本。因此,您可以在.NET 4.5.1中定位项目,并且它将很乐意在4.6.1运行时运行。
如果一切都是最终作为一个进程的解决方案的一部分,那么保持所有目标平台相同是有意义的,但是.NET 4.7应用程序添加对第三方库的引用没有任何代价,只有目标是4.5 - 例如。
我必须编写面向.NET 4.0和桌面的代码,但是在服务器端编写更新的.NET。我有很多项目在.NET 4.0中使用公共代码,我从桌面和服务器项目中引用它。
答案 1 :(得分:2)
长答案 - 是的。 这不是最佳实践,在处理旧库时,您需要确保:
1)旧类中的方法和对象仍然是最新的,并且与您当前的.net框架兼容。您还需要确保不使用弃用的方法。
2)您必须确保旧类也将在新的.net框架上编译和运行。
这种方法非常方便,因为如果您的旧类适用于新的.net框架,您不需要再将整个类重写为新框架。
如果一切都是您的解决方案的一部分并且工作没有问题,那么就没有理由不这样做,只需确保检查所有内容是否适合并且这些内容正在协同工作。
缺点是,如果你想将你的类迁移到更高的框架,你将不得不重写你的整个类代码以适应框架,这是因为它不适合。