版本之间的引用。网络框架

Posted

技术标签:

【中文标题】版本之间的引用。网络框架【英文标题】:References between versions . NET Framework 【发布时间】:2012-04-06 03:43:00 【问题描述】:

我有一个用 C# 编写的程序集,用 3.5 版编译,使用 WCF。此库必须由使用 vb.net 编写的另一个应用程序使用,该应用程序是使用 2.0 版编译的外部公司。

有可能吗?

【问题讨论】:

您是否尝试过引用 .dll? vb.net 应用程序将在哪里运行?在 .NET 2.0 系统上,还是在 .NET 3.5 系统上? 【参考方案1】:

不,这是不可能的,但不是因为框架差异。这是不可能的,因为您的客户端没有 WCF 所需的程序集。

实际上,.NET 2.0 和 .NET 3.5 使用相同的 CLR。如果您为 .NET 3.5 编译代码,但不使用任何新程序集,那么 .NET 2.0 应用程序应该可以使用该代码。 .NET 3.5 只是 .NET 2.0 SP2 加上一些新的程序集。

事实上,.NET 3.0 是 .NET 2.0 SP1 加上一些新的程序集。 .NET 3.5 是 .NET 2.0 SP2 加上 .NET 3.0 SP1 加上更多新程序集。这三个都使用 .NET 2.0 CLR。​​

.NET 4.0 使用新的 CLR 并且是一个新版本。 .NET 4.0 代码无法在 .NET 2.0 机器上运行。但是,有一项功能允许 .NET 2.0 和 .NET 4.0 CLR 同时运行。

【讨论】:

我不明白这一点,你是说 .net 3.5 dll 将在托管的 .net 2.0 进程中运行,因此无法链接 WCF 内容?为什么?即使这是真的,WCF 仍然会在 2.0 CLR 中运行。 WCF 无法在那里运行,因为程序集不存在。我是说可以创建一个针对 .NET 3.5 框架的程序,如果您不使用任何新程序集,该程序将在仅安装了 .NET 2.0 SP2 的系统上运行。 是的,但我不确定这就是 OP 所说的。他不是在谈论运行时限制,而是在谈论这两个程序的编译框架。我将其解读为同时安装了两个框架。【参考方案2】:

不,你不能这样做。 但你可以做一件事。您可以为您的其他应用程序提供运行 WCF 代码和您在应用程序中使用的任何其他 dll 所需的必要 dll。 我不确定,但你可以试一试。

【讨论】:

以上是关于版本之间的引用。网络框架的主要内容,如果未能解决你的问题,请参考以下文章

opencv学习-OpenCV与YOLO之间的关系

TensorFlow框架之RNN循环神经网络详解

图神经网络版本的PyTorch来了,Facebook开源GTN框架,还可对图自动微分

Android网络框架OkHttp之get请求(源码初识)

网络安全Spring框架漏洞总结

关于linux内核的tcp ip网络框架实现