开始使用Linq,我需要什么?
基本上说的是标题。 (原谅我,因为我是.NET newb)
在我的部门中,我们有一台运行.net 3.5的服务器,自从进入本节以来,我一直在使用LINQ。但是,我正在另一个服务器上(显然)启动一个个人项目,所以有两个问题:
我需要什么来启动并运行LINQ?
服务器需要什么来运行LINQ?
.net 2.0是否可以在服务器上运行?
后面的代码将是重要的Cif。
编辑:
我必须在3.5中编译还是2.0可以工作?
解决方案
我假设我们正在专门谈论LINQ to SQL。
我们只需要在开发计算机和服务器上安装v3.5的框架即可。
服务器未运行linq; linq最终将向服务器发送SQL语句。
语言无关紧要。
LINQ需要框架3 / 3.5,因为它使用了3 / 3.5的许多扩展(扩展方法,lambda表达式Func <>委托等),然后不适用于2.0版本。
如果我们在本地PC上使用linq开发项目,只需将标准部署(例如,复制dll,aspx等)部署到服务器生产中,它将可以正常工作。无需采取特殊措施。
我希望我能帮助你
LINQ在.NET CLR 2.0运行时上运行,但是要能够编译和使用LINQ代码,我们需要.NET 3.5(C3.0编译器),因为.NET 3.5向框架中添加了一些与LINQ相关的程序集。
我鼓励我们将LinqPad用作学习工具。它是一个独立的应用程序,可让我们处理Linq查询,而不必担心使其在服务器上运行。
可能应该阅读LINQ上的Scott Guthries系列文章:
这里是各个8部分的链接。如果我没记错的话,我们将需要框架3.5.
从详细的分步说明开始的系列从这里开始:第1部分
实际上,我们只需要在开发计算机上使用.net 3.5. 如果服务器上具有2.0 SP1,并且将版本3.5.0.0的项目中的所有.net引用都设置为"本地复制",则可以在2.0计算机上运行3.5可执行文件。
makeitlooklikethis http://img90.imageshack.us/img90/4217/35haxxx2.png
附带说明,我们可能必须删除yourexecutable.exe.config才能运行它。出于某种原因,2.0 sp1遇到了由3.5创建的.configs的问题
我目前有两个使用此设置运行的实时应用程序,它运行良好。
LINQ需要.NET v3.5
Joseph Albahari的LINQPad是了解和实践LINQ的绝佳工具
好,首先关于.NET 3.5. 3.5的运行时(CLR)仍与.NET 2.0中的相同。有很多新的库以及(其中包括)一个新的C#编译器。
因此,要在理论上运行LINQ,我们只需要安装.NET 2.0并将一些其他程序集添加到GAC中即可。如果我们想知道哪些问题,请将其添加到问题中,我太懒了,现在无法查找它。
如果可以的话,只需在服务器上安装.NET 3.5 Framework,是的,所有.NET 2.0程序都将像以前一样在此处运行。不要忘记扫描自述文件:-)
不过,我真的不太理解"我需要什么来启动和运行"问题。我们想要了解更多有关LINQ的内容吗?尝试使用LinqPad。我们要使用LINQ开发解决方案吗?然后,我至少会推荐VS2008 Express。
要编译LINQ表达式,我们必须使用.NET 2.0框架中没有的C3.0编译器。如上所述,该编译器的输出与.NET 2.0兼容。
要启动并运行,我绝对建议我们查看LINQ in Action。
替代文字http://ecx.images-amazon.com/images/I/416P5CUSvsL.SL500_AA240.jpg
编译器必须是.NET 3.5框架。如果仅复制编译后的代码,则服务器上将不需要3.5,而开发计算机上仅需要3.5. 如果服务器管理员不愿意在服务器上安装3.5框架,则可以提供帮助。但是,如果要发布源代码,请告诉开发服务器进行编译,那么该服务器将需要3.5.
一旦安装了3.5框架,就可以将Web应用程序运行为2.0或者3.5. 我们所要做的就是在Web.Config文件中指定它。
如果我们对使用LINQ to SQL和管理dbml文件感兴趣,则需要Visual Studio2008. 但是,如果已安装3.5框架,Visual Studio 2005仍将正确编译dbml文件。
ZAIN Naboulsi有一些LINQ好东西。快来看看!
http://blogs.msdn.com/zainnab/archive/2008/03/29/collection-of-linq-resources.aspx
通过遵循LINQ上的Hooked,继续简单地学习LINQ
服务器上至少必须具有.Net 2.0 sp1,并且必须在本地复制少数程序集,例如System.core等。
但是没有SP1,由于System.dll中的问题,我们将无法执行LINQ代码。