我工作的代码库是.NET 2.0。对于我们新的程序集/ DLL/Web应用程序,我很想利用3.5所提供的优势。您可以在解决方案中混用.NET框架版本吗?
可以在解决方案中混合使用.NET框架(每个程序集)吗?有没有任何IIS相关的警告呢?
我很乐意听到任何正面/负面/如何反馈。让我知道!
谢谢!
我工作的代码库是.NET 2.0。对于我们新的程序集/ DLL/Web应用程序,我很想利用3.5所提供的优势。您可以在解决方案中混用.NET框架版本吗?
可以在解决方案中混合使用.NET框架(每个程序集)吗?有没有任何IIS相关的警告呢?
我很乐意听到任何正面/负面/如何反馈。让我知道!
谢谢!
是,你可以在Visual Studio中做到这一点,它被称为多目标。
斯科特·格思里对Multi-Targeting Support in Visual Studio一个伟大的博客条目。
VS 2008是 的Visual Studio的第一个版本,其中包括了.NET 多目标的支持。 这是什么意思是,你可以使用 VS 2008创建和编辑不仅 .NET 3.5的项目,也是.NET 3.0 和.NET 2.0的项目也是如此。这 允许开发更快速 升级和利用新的 的Visual Studio工具特性 - 而不必一定要求 被安装在客户端上运行他们的应用程序 生产 服务器 .NET的新版本。
干杯
编辑:我错了,你可以。你可以参考3. + 2.0中的程序集,因为CLR是一样的。因为有新版本的CLR,所以从2.0/3. +到4.0时不会出现这种情况。
http://abdullin.com/how-to-use-net-35-syntax-and-compiler-features-for-net-20/
据我所见,这是完全可能的另一种方式,但在2.0项目中添加对3.5项目的引用时会出现警告。另外,引用的3.5代码可能会导致错误,但我不确定。 – Webleeuw 2010-03-12 13:56:29
这不完全正确。 2.0,3.0和3.5都在相同的2.0 CLR上运行。 (忽略服务包等)。从2.0代码中使用3.5程序集是完全可能的,前提是您不依赖于任何Service Pack更改。你可以直接在Visual Studio中做,它只是给你一个警告。我怀疑它是正式支持,但它的工作原理,甚至可以做像Linq 2.0这样的东西,只要你手动找到并引用所需的程序集。 – 2010-03-12 14:02:17
是的,那对我来说很愚蠢。我正在考虑从1.0到2.0。 – kemiller2002 2010-03-12 14:05:04
如果你能等待新的.NET 4.0框架,你将能够并排在同一进程中运行DLL的每个版本的一面。
这应该不是问题。 .NET 2.0 RTM到.NET 3.5 SP2都使用完全相同的CLR版本。它们仅仅因包含的程序集数量而异。汇编格式是相同的。当然,如果您确实利用仅包含在.NET 3.5中的程序集,则必须确保目标机器上实际安装了3.5。如果不是,你会很快发现。
3.5应该已经是在机器上是否已经启用了Windows更新。如果不是,需要十几分钟才能完成。
作为一个侧面说明,我们有我们在2.0中使用,并且仍然在3.5使用,而无需重新编译一些旧的1.0库。所以这里有一些向后兼容的功能。
而在4.0中,没有重新编译......我的时间是如何进行的。 – quillbreaker 2012-10-23 17:38:52
你不能有NET 1.1 assmeblies在同一个进程中运行作为.NET 2.0 +组件 - 试图这样做会产生故障。
对于IIS,这意味着您不能在.Net 2.0及以上站点的同一应用程序池中运行.Net 1.1站点/虚拟目录 - 您需要创建一个单独的应用程序池以保持.Net 1 。1代码在不同的进程中运行。 (这只能在IIS 6.0及更高版本中完成,即不能在Windows XP中完成)
但是,正如nobugz所说 - .Net 2.0到.Net 3.5都使用相同的CLR,因此不同版本的.Net代码可以在同一个程序集中不用担心 - 这也适用于IIS(.Net 2.0和.Net 3.5代码可以愉快地共存于同一个应用程序池中)
“你不能在.Net 2.0+程序集的相同进程中运行.net 1.1 assmeblies” - 是的,你可以 - 只要你使用的是.NET 2.0 CLR。 – Joe 2012-05-21 15:41:07
您可以同时使用2.0,3.0和3.5 : http://msdn.microsoft.com/en-us/library/bb383796(v=vs.90).aspx
如果您想不改动旧项目,那么您可以在单个解决方案中将3.5程序集/项目放在一起。就IIS而言,您只需要在服务器上安装3.5框架(还有一个3.5 Service Pack 1)。 2.0,3.0和3.5框架可以同时安装,没有任何问题。 – intoOrbit 2010-03-12 14:09:59
这就是我喜欢stackoverflow的原因。感谢您的链接和解释! – Micah 2010-03-12 15:30:32
不错,回答,但这不是海报问的问题 - 他们询问在**相同的程序集中使用多个版本的.Net框架** – Justin 2010-03-12 15:43:15