这可能看起来像一个愚蠢的问题,但是可以构建一个使用c#3(.Net Framework 3.5)构建的应用程序并将其部署到没有安装3.5框架的计算机上吗?即bin部署是否适用于System.Core和其他3.5个dll?
我真的想使用lambdas,linq,Func等构建我的应用程序但我的客户端不允许在他们的机器上安装3.0或3.5框架(他们确实安装了2.0框架)。
答案 0 :(得分:9)
您可以使用C#3.0并定位.NET 2.0。以下C#3.0功能完美运行:
扩展方法需要System.Core的属性,但您可以定义自己的属性。 如果可以调用正确的方法,查询表达式将起作用 - 因此您可以部署LINQBridge并且仍然具有LINQ to Objects。
遗憾的是,表达式树根本不起作用。
有关详细信息,请参阅my article on .NET versions。
请勿尝试在2.0系统上部署3.0或3.5的位。
答案 1 :(得分:0)
不,不可能。它不仅仅是复制正确的dll并将其与您的应用程序一起发送。
话虽这么说,如果你的应用程序不使用很多“新”功能,你可以使用Mono来部署你的应用程序。 Mono是一个开源的,我猜测它的头部比.net框架小。
答案 2 :(得分:0)
这可以通过一些应用程序虚拟化产品来完成。我知道我们使用Thinstall年前部署.Net应用程序而不必强迫用户安装.net(它是一个CD Autoplay应用程序)。
答案 3 :(得分:0)
我不确定,但我认为您可以尝试Static Compilation in Mono