【发布时间】:2009-11-11 17:51:24
【问题描述】:
我们开始使用 .NET 4.0 Beta 2 开发一个新应用程序。我们是否应该重新编译我们现有的面向 .NET 4.0 框架的库,即使它们不使用新功能?
【问题讨论】:
我们开始使用 .NET 4.0 Beta 2 开发一个新应用程序。我们是否应该重新编译我们现有的面向 .NET 4.0 框架的库,即使它们不使用新功能?
【问题讨论】:
您不需要这样做,但这是一种很好的做法。
.NET 4 中的一项新功能是能够在一个进程中托管多个版本的 CLR。这使得 .NET 4 应用程序可以轻松使用 CLR 2.0 程序集。
但是,托管两个版本的 CLR 很可能会产生一些额外的开销(不过,我还没有看到这方面的细节)。
【讨论】:
我会推荐它,即使只是为了让每个人都知道使用 .NET 4.0 中的库没有风险
【讨论】:
这取决于。我会说,如果您没有很多外部依赖项,那就去吧。请注意,您的客户需要在他们的系统上安装 .NET 4。如果您要销售软件,这可能没什么大不了的,但如果您要部署到内部企业,则需要 IT 员工的支持。
如果您确实有很多外部依赖项(O/RM、IoC 容器、日志记录等)并且这些依赖项不是针对 .NET 4 编译的,那么您最终会在您的系统中加载多个版本的 CLR应用程序。您可能想在实现飞跃之前分析您的应用并查看它的性能。
【讨论】: