.NET 3.5 应用程序能否在安装了 .NET 2.0 运行时的计算机上运行?

3
我用VS 2008编写我的应用程序,所以使用了所有花哨的技术,如LINQ、对象初始化等。现在,如果只有.NET 2.0运行时,没有.NET 3.5运行时,我的应用程序能否运行?正如大家所知,.NET 3.5运行时是一个巨大的下载。
8个回答

9
您可以使用的是例如 var 关键字、自动获取器和自动设置器、对象初始化程序。也就是说,这些语法糖会被编译成2.0代码。
您不能使用的是.NET框架3.0和3.5库中的功能。例如LINQ。
您可以通过将Visual Studio中的目标平台设置为.NET Framework 2.0来尝试使用哪些内容。当您使用来自Framework 3.0和3.5的东西时,编译器会发出警告。
您可以使用一些小技巧来使用扩展方法:将此类创建到您的项目中。
namespace System.Runtime.CompilerServices
{
    public class ExtensionAttribute : Attribute { }
}

扩展方法实际上也编译为2.0代码,但编译器需要定义此类。在这里阅读相关内容。


5

1
我建议您查看Smallest DotNet,以找到在部署Framework 3.0和3.5应用程序时使用的较小版本的框架。

0
在大多数情况下,可能不需要,虽然 .Net 3.5 仍然使用 .Net 2.0 CLR,但有很多新的库和功能,你很可能会使用,例如定义扩展方法的代码,这些对于没有安装 .Net 3.5 的客户端将不可用。
您可以使用 VS2008 来针对 .Net 2.0 进行目标设置。我认为这是解决方案元素上的一个属性。 http://en.wikipedia.org/wiki/Microsoft_.NET#Microsoft_.NET 上有很多信息。

0

如果你想使用它的功能,你需要安装 .Net 3.5。


0
如果成本不是一个问题,你可以考虑使用运行时虚拟化软件,比如VMWare ThinApp或Xenocode Postbuild,它们都可以让.NET应用程序在不安装.NET运行时的情况下运行。

0

-3

不行,他们不能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接