论坛首页 编程语言技术论坛

Visual Studio 2010 Beta 1的安装和初试(截图×20)

浏览 28677 次
精华帖 (5) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-05-21  
RednaxelaFX 写道
jjx 写道
半夜下完安装fx试了一下

csc 4.0 编译出来的东西必须要.net 4.0才能运行了

嗯我刚发了一帖关于.NET 4的单独下载的……
新的C#编译器默认依赖的mscorlib.dll、System.dll、System.Core.dll等都是对应.NET 4的,当然只能在后者上运行。但是也可以设定参数让编译器引用老版本的程序集,那样就可以在老版本的.NET上运行。



这次有点特别,新的语言特色,必须要在.net 4.0下才行,dynamic, 缺省参数等,不像以前,编译后能照样跑在.net 2中,最多复制几个不存在的dll过去。这样就意味了.net 4.0彻底不能跑在windows 2000上了。
0 请登录后投票
   发表时间:2009-05-22  
C# 4.0新特性是契约式编程,前个月下载了文档和说明,竟然现在都还没看。人老了,心也散了。
0 请登录后投票
   发表时间:2009-05-22  
logicgate 写道
zxzheaven 写道
记得在用vs2003的时候,还有个J#,不知道多久被去掉了

最早的还有一个visual J,那时候microsoft还支持java的。

嗯那个是Visual J++。官司后微软只能实现到Java 1.1.4,所以Visual J++就被废弃了。
在.NET Framework刚出的时候为了吸引Java程序员,所以保留了一个叫Visual J#的版本。不过那个也在Visual Studio 2008被抛弃了……

jjx 写道
RednaxelaFX 写道
jjx 写道
半夜下完安装fx试了一下
csc 4.0 编译出来的东西必须要.net 4.0才能运行了

嗯我刚发了一帖关于.NET 4的单独下载的……
新的C#编译器默认依赖的mscorlib.dll、System.dll、System.Core.dll等都是对应.NET 4的,当然只能在后者上运行。但是也可以设定参数让编译器引用老版本的程序集,那样就可以在老版本的.NET上运行。

这次有点特别,新的语言特色,必须要在.net 4.0下才行,dynamic, 缺省参数等,不像以前,编译后能照样跑在.net 2中,最多复制几个不存在的dll过去。这样就意味了.net 4.0彻底不能跑在windows 2000上了。

新的C#语言特性依赖于Microsoft.CSharp.dll与4.0版的mscorlib.dll和System.Core.dll等,自然是不能用在老版本的.NET上。即便是3.5推出的时候,LINQ也无法在3.5以下的版本使用;要用的话就得自己实现LINQ需要的库或者用Mono的实现。
只要你指定目标.NET版本,C#编译器就会引用对应版本的程序集,那样就能保证可以部署到指定版本上。代价是不能用新特性,但这也正常吧,呵呵

RCFans 写道
C# 4.0新特性是契约式编程,前个月下载了文档和说明,竟然现在都还没看。人老了,心也散了。

那个不是C# 4的新特性而是.NET Framework 4的新特性。标准库里的Code-by-Contract支持可以用在任意.NET语言中。
0 请登录后投票
   发表时间:2009-05-22   最后修改:2009-05-22
linq 可以用在.net 2.0上的 ,包括linq to sql 和所有的c# 3.0语言特性,只要复制system.core,system.data.linq等一些dll到bin目录即可,目前俺就在这么用

0 请登录后投票
   发表时间:2009-05-22  
jjx 写道
linq 可以用在.net 2.0上的 ,包括linq to sql 和所有的c# 3.0语言特性,只要复制system.core,system.data.linq等一些dll到bin目录即可,目前俺就在这么用


那你必须有C# 3.0的编译器,如果你是编译完到.NET 2.0的环境中运行,那是没有问题
0 请登录后投票
   发表时间:2009-05-22  
jjx 写道
linq 可以用在.net 2.0上的 ,包括linq to sql 和所有的c# 3.0语言特性,只要复制system.core,system.data.linq等一些dll到bin目录即可,目前俺就在这么用

不知道这样做有没有违反.NET Framework的license agreement……不然就不会有那么多解决方案是用Mono的Systemm.Core.dll和System.Data.Linq.dll了
0 请登录后投票
   发表时间:2009-05-22  
Mono的security比MS的好,尤其是在证书的处理上
0 请登录后投票
   发表时间:2009-05-22  
RCFans 写道
Mono的security比MS的好,尤其是在证书的处理上

Mono的security,嗯看什么方面。Mono一直都没有实现CAS,最近才在Moonlight里实现了某种程度的sandbox。我还没在Mono上用过证书相关的功能,可以稍微介绍下这方面的特点么?
0 请登录后投票
   发表时间:2009-05-22  
RednaxelaFX 写道
jjx 写道
linq 可以用在.net 2.0上的 ,包括linq to sql 和所有的c# 3.0语言特性,只要复制system.core,system.data.linq等一些dll到bin目录即可,目前俺就在这么用

不知道这样做有没有违反.NET Framework的license agreement……不然就不会有那么多解决方案是用Mono的Systemm.Core.dll和System.Data.Linq.dll了

能否举个例子? 国内有人用mono开发么? 除了那个网站外。
0 请登录后投票
   发表时间:2009-05-23  
mathgl 写道
RednaxelaFX 写道
jjx 写道
linq 可以用在.net 2.0上的 ,包括linq to sql 和所有的c# 3.0语言特性,只要复制system.core,system.data.linq等一些dll到bin目录即可,目前俺就在这么用

不知道这样做有没有违反.NET Framework的license agreement……不然就不会有那么多解决方案是用Mono的Systemm.Core.dll和System.Data.Linq.dll了

能否举个例子? 国内有人用mono开发么? 除了那个网站外。

如果是说用Mono的库来放在.NET 2.0上运行LINQ的话,用这几个关键字在Google上搜索一下就好:
mono system.core.dll linq ".NET" 2.0
搜索结果里会包括StackOverflow上的一个相关问题:LINQ on the .NET 2.0 Runtime

关于复制.NET 3.5的DLL到自己的应用程序里,Deploying ASP.NET MVC on ASP.NET 2.0这篇去年的blog提到了这么一句话:
Scott Hanselman 写道
* Copied System.Core.dll local to the web apps /bin folder
It's that final step that we're not technically allowed to do, ...

我印象当中.NET Framework的redistribution是受限制的,用户只能把微软提供的.NET安装包整体再发布而不能只抽出里面的DLL与自己的应用捆绑在一起。不太肯定我也没有记错。但是用Mono的类库就没有这样的限制。

至于说使用Mono开发的实际部署了的网站……国内这是个什么状况我不清楚,但JavaEye上貌似有会员是以Mono为基础来部署ASP.NET的程序的。让他们来说说吧。
国外的一个例子是Mindtouch的Deki Wiki。IronRuby的官方网站,http://ironruby.net/就是用它来架设的。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics