VS 2010,从RC1版本我们可以看到,这一版本的集成开发环境,基本上集成了MS目前所有涉及到的领域,细节更突出,start tutorial更准确、布局更合理,界面更加人性化而且舒适、新增加了F#语言支持、help已经以服务出现、第三方插件(add-in)以扩展管理器的形式出现、云计算工具已经包含在该版本中、旗舰版和高级版对团队开发和程序生命周期管理进行支持。笔者试用RC1版的总体感觉-纯粹用来编写程序非常方便。
一、VS 2010的Beta2版本的“添加引用”出现了变化,我们拮取其一,稍加窾豹。
在vs2010中打开该对话框时,.NET 和 COM 页现在是异步装载的,在填充列表时不会堵塞UI线程。这意味着,如果你不小心点击了这些页的话,你不再会堵在那里,等着它们同步装载。在VS 2010中,你现在可以点击“取消”关闭对话框或者点击另一页。
二、vs 2010中做了一些非常重大的架构级改动,来促成更好和更精确的多定向支持(side-by-side) 。
vs 2010现在给每一个.NET版本都配备了“引用程序集(reference assemblies)”,它只包含某个特定框架程序集的元数据,而不是它的实现(因此所占硬盘极小)。它用来确保VS 2010总是能够在定向某个.NET 框架版本时提供百分之百精确的intellisense。这还意味著,通过设计器中属性表格呈示的属性,对象浏览器中的API列表,以及IDE中所有其它各种地方都能精确地显示出确切版本的API签名。MS同时还更新了VS 2010调试器,profiler和编译器,使之能够定向多个CLR版本。
vs 2010的多定向支持允许你定向开发 .NET 4.0, .NET 3.5, .NET 3.0 和 .NET 2.0的项目。它允许你开始利用新的工具特性,而不必马上将运行你应用的客户机和服务器升级到.NET 4.0。
对比:vs 2008的多定向支持
vs 2008是第一个包含.NET多定向支持的Visual Studio版本,这意味着,你不光可以使用vs 2008创建和编辑.NET 3.5 项目,也可以创建和编辑.NET 3.0 和 .NET 2.0项目。这允许开发人员更快地升级和充分利用新的Visual Studio工具特性,而不必要求在运行他们应用的客户机和生产性服务器端安装新一点的.NET 版本。
vs 2008的多定向支持利用了.NET 2.0, .NET 3.0, 和 .NET 3.5都是在同个版本的CLR之上运行的这个事实,而这三个.NET 版本的主要区别在于它们的框架类库。结果是,Visual Studio的编译器能够生成同样的IL输出,调试器能够针对同个CLR引擎进行调试,IDE对多定向的支持主要着重于过滤掉不支持某个给定.NET 版本的新的程序集和项目模板的的显示。
这个多定向体验是可行的,尽管不完美。vs 2008中的Intellisense总是显示.NET 3.5版本的框架类库的类型和成员(即使你定向的是.NET 2.0)。这意味着,你有时候会在无意中使用一个ASP.NET 3.5才有的方法,尽管你是在开发一个ASP.NET 2.0 项目。
VS 2010 rc1版,给笔者留下较深印象的几个方面:
1、以WCF为基础的MS的云战略已经笃定地付诸实施,vs 2010就是一款云模式下的产品;MS的SaaS已初步“成军”;
2、vs 2010定位为一个开放型的平台,从工具、组件、到定制控件等等,MS已经为isv敞开大门,与开源力量重新整合;这也标志着WPF开始取得产业性成功;
3、引入F#,增强了.NET平台的异步计算能力,这是.Net下一步的发展方向;
4、MVC2的明确,标志MS开始引入较为成熟的企业模型;
5、在vs2010中出现了小规模的云工具和云时间使用的概念。虽然规模很小,但MS这么明确地加以引入,在云计算并未完全成熟的情况下,说明MS的重视程度,显现出MS正在走向成熟。
云模式,使得MS头一次拥有了涵盖互联网模式的平等话语权,这一点,对MS非常珍贵。
后记:VS IDE 2010得到了很多优化,感觉上编程比较透明化,这样也好!可以加快开发应用。--程序组件级装配的动态运行时代已经到来!模型驱动、测试驱动开发必将成为主流。
以下为.NET4内容:
Microsoft .NET Framework 4 (Web Installer)
.NET 4 Revealed (附:中文)
By Kathleen Richards 06/02/2009
The next-generation .NET Framework 4 and Visual Studio 2010 beta 1 bits reached developers' workstations last month, after a seven-month hiatus. The first -- and in some cases, only -- community technology previews (CTPs) appeared last October at Microsoft's Professional Developers Conference (PDC).
The updated framework promises maturing class libraries and new parallelism capabilities to facilitate the development of components that can take advantage of the intensive I/O capabilities of multi-core systems.
"With 4, I see less new things and more of an extension in terms of beefing up what's there-the Windows Communication Foundation, Windows Presentation Foundation, Workflow services," says Mark Driver, vice president of research at Gartner Inc. "I don't see a whole lot of new APIs but rather the evolution of the APIs that they introduced as part of 3.5."
Richard Hale Shaw has spent most of his time looking at the Base Class Libraries (BCL) and Common Language Runtime (CLR), which he describes as the "meat" of the framework. "I think sometimes [Microsoft] teams lose focus on what is it that is going to make a developer more productive that isn't being addressed in the current product and isn't being addressed by cute bells and whistles," says Shaw, CEO of The Richard Hale Shaw Group, a specialist in Microsoft development technologies.
.NET 4 marks the first major upgrade to the CLR since .NET 2.0, which debuted alongside Visual Studio 2005 and SQL Server 2005, and served as the execution environment for .NET 3.0 and .NET 3.5.
18-Month Tool Fest
Last month, Microsoft IT and developer professionals got a closer look at what's coming in .NET 4 beta 1 at Tech-Ed North America 2009 in Los Angeles, where the release candidates of Windows 7 and Windows Server 2008 R2 grabbed center stage. R2 includes the .NET Framework with a "server core" option that supports ASP.NET, IIS 7.5, Remote Management and PowerShell. (.NET 3.5 is the default framework.) Windows Mobile 6.5, the first version to include the new Market Place component, was officially kicked off at Tech-Ed. It ships with .NET 3.5 Compact Framework and SQL Server 3.5 Compact Edition.
The annual confab in May topped off an 18-month tool fest since .NET 3.5 and Visual Studio 2008 shipped in November 2007. During that span, Microsoft has introduced new data access tools-Language Integrated Query (LINQ) and related providers in the .NET 3.5 release and the beleaguered ADO.NET Entity Framework, an object-relational mapping model in .NET 3.5 Service Pack (SP) 1.
At Microsoft PDC in late October, developers were briefed on the upcoming Azure Services Platform for cloud computing and the new Live Framework for Live Services and Live Mesh.
In March, Microsoft continued to shore up its "standards-based" Web platform at its MIX09 Web developer and designer conference. The company showcased what's coming in ASP.NET 4 with improved AJAX, Dynamic Data and better Silverlight integration. The new Model-View-Controller (MVC) framework ASP.NET MVC 1.0 was released. Silverlight 3, which is expected to ship later this year, was announced, along with new .NET RIA Services.
All of these libraries and SDKs are part of the .NET Framework stack, or extensions, that rely on Visual Studio as the underlying tooling. As Microsoft packs it all into .NET, some concerns about the framework's size and performance are being addressed. The .NET 3.5 SP1 introduced a subset of the framework in the .NET Client Profile (28MB), compared to the entire 250MB download. Distribution size is further improved in .NET 4, according to Brian Goldfarb, Microsoft's director of developer and user experience platforms.
Updating the CLR
With .NET 4, Microsoft Group Program Manager Joshua Goodman says that the CLR team has worked hard on solving performance and compatibility issues. The core of the platform encompasses the just-in-time compiler, garbage collection, a security model, exception handling, profiling and debugging APIs, and the BCL.
Developers have run different versions of the framework side by side on the same box since .NET 1.1 was introduced in 2003. The .NET 4 CLR supports processes side by side in the same host, enabling components to use different versions of the CLR in the same application.
"If they can make that happen, I think it would be a big win," says Shaw.
SRT Solution founder Bill Wagner, who writes the Visual Studio Magazine C# Corner column, agrees. "This functionality is really critical for anyone who's doing any development with Office, where you're writing an add-in that gets loaded into another application."
Microsoft's "parallel story" is another critical facet of .NET 4 for both native and managed code developers. Parallel LINQ (PLINQ) is a declarative data programming model for executing queries in parallel. The Task Parallel Library (TPL) in the .NET Framework supports both task-and data-driven parallelism. A Coordination Data Structure manages the shared states.
Developers can expect to see numerous PLINQ, TPL and coordination-data structure updates in the .NET 4 beta; the TPL CTP released at PDC was based on code from July 2008. In beta 1, the default work scheduler for the TPL is now the .NET CLR Thread Pool. The team is also working on an improved algorithm so that the .NET Thread Pool can dynamically optimize the number of threads for a workload.
Shaw, who has looked at the early CTPs, likes what he's seen so far. "I kind of wish there was a little more abstraction in there but it's not bad the way they did it," he says. "My only gripe with the parallel libraries so far-and it's a minor one, because of the way they designed them-[is that] there are fewer opportunities to take advantage of some of the language features like extension methods and things like that. But that may happen if the language teams get their hands on them in a later release," he says.
The Dynamic Language Runtime services (hosting API, dynamic type system, dynamic methods and code generation), currently available on Microsoft's open source project hosting site CodePlex, are also part of the .NET 4 core platform. The DLR, which sits on top of the CLR, will support IronRuby, IronPython 2.0 (which was released in December), the upcoming Visual Basic 10.0 and Managed JScript. Dynamic support has also been added in C# 4.0.
Wagner, who says he's played with the dynamic language capabilities quite a bit, likes the C# features. "I think it is a very nice way to write code that is essentially statically typed code and get all the performance and compile time checking that comes along with the statically typed language and yet have ways to isolate areas where you want to use dynamic type checking or you want to interop with these things that are more dynamic," he says. "You can do Silverlight things and JavaScript as though it were in C#. You can interact with Python libraries or supply code that can be used for IronPython libraries."
"The one use case that is not played up as much is that you've got the ability to invoke .NET objects dynamically through the DLR and where that becomes a win is if you're currently using .NET objects via reflection," says Shaw.
In addition to Microsoft's implementations of dynamic languages in .NET, the new framework will support functional programming for the first time, specifically F#, which is developed by Microsoft Research.
"F# is going to be a standard language product in this release, which I think over the long haul is going to be a big, big win," says Shaw. "I see it as a great tool for a C# developer who understands it because you can't do functional programming as effectively in C# as you can in F#."
Technology that evolved out of Microsoft Research's Spec# is also making its way into .NET 4. The new Code Contracts in the BCL allow developers "to tell the compiler what they know" according to Microsoft's Goodman, by writing pre-conditions similar to assert.debug, post-conditions for exiting the code and object invariants. Some offline static analysis tools out of MSR are also included.
Yet Another Data Layer
Along with substantial improvements to ASP.NET, Microsoft has updated the ADO.NET framework class libraries. The confusion about which data access technologies to adopt with multiple frameworks and tools driven by different stakeholders within Redmond has left many developers frustrated. Microsoft is making some changes in .NET 4 that may make these choices clearer.
"We're making significant investments in the Entity Framework such that as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios," wrote Tim Mallalieu, Microsoft program manager, LINQ to SQL and Entity Framework (EF), in a blog post last October. "We are listening to customers regarding LINQ to SQL and will continue to evolve the product
based on feedback we receive from the community as well."
With .NET 4 beta 1, developers will likely get their first look at EF version 2. According to Microsoft, EFv2 adds support for n-tier APIs and templates, increases Plain Old CLR Objects (POCO) coverage and improves Persistence Ignorance, among other enhancements.
"I don't know that it's pure POCO," says Roger Jennings, principle of OakLeaf Systems and a VSM contributor. "The abstraction may be a little leaky; a little bit of the data table design may still be in the classes."
Change tracking in the client and state changes in n-tier apps will be handled to some extent by developers, according to a November posting by the EF Design team:
"[E]ntity Framework won't impose a pattern for N-Tier. Both DTO-style and DataSet-like experiences can be built on top of a minimal set of building blocks APIs. It is up to the developer to select the pattern that better suits the application."
While some developers may appreciate the flexibility and choice, others see it as more work.
"We want to make the developer experience much less about having to write low-level structures where they have to know the database schema and really to abstract them up to high-level programming that really targets the entities that they're trying to manipulate using the EDM [Entity Data Model]," asserts Burley Kawasaki, director of developer platform product management at Microsoft. "And then we take care of a lot of the lower-level mapping relational data, a lot of the infrastructure code that you would typically write."
Jennings, who uses LINQ to SQL today, is anxious to try out the updated technology. "The feature that will be most useful to me in .NET 4 will be Entity Framework version 2 primarily because I am going to be able to split it into tiers," he says. "Basically what it does is it enables you to run a disconnected Web service. Then you don't need ADO.NET Data Services anymore-you can get rid of that layer."
Connected to the Cloud
Microsoft is also advancing the foundation libraries that debuted in .NET 3.0, designed to help developers build business logic, presentation layers and identity management in .NET 4.
The service-oriented messaging model, Windows Communication Foundation (WCF), is now extended to support cloud services through .NET Services in the Azure Services Platform.
Microsoft is continuing to improve the integration between WCF 4 and Windows Workflow Foundation (WF) 4. "A big piece of what we are doing is making the programming very fluid between WF and WCF," says Kawasaki. "We started a little in 3.5 and you will see in .NET 4 that we take that even further." Developers can now use a consistent declarative model (XAML stack) underneath WF, WCF and Windows Presentation Foundation (WPF).
Much has been made of the rebuilding of WF 4. Feedback on WF indicated that some developers preferred to use configurations or models, says Kawasaki. "So Microsoft is extending the model so that you can do much more declarative programming and trying to limit the cases where you need to write code in defining the workflow."
The team has also focused on making it easier for developers to not have to choose between performance and maintenance. WF 4 is showing 10X improvements in internal benchmarking of the raw executions of workflow, according to Kawasaki, who says it is used in Team Foundation Server for Visual Studio Team System 2010.
Building composite apps that connect Web and data services should get easier as these frameworks and tools advance. WCF 3.5 added support for RESTful services. With EDM and RESTful services, developers can call business data as opposed to writing lower-level SQL statements, in effect tying together datagrids, data services and the EF, according to Kawasaki. A new Windows Web Services API enables native code in apps such as Windows 7 and Windows Server 2008 R2 to interop with WCF.
WPF 4 is perhaps the most critical technology for Microsoft. Visual Studio 2010 will feature a new shell built using WPF 4.
Many developers hope the integration of WPF into Visual Studio is going to have a positive effect on WPF performance and WPF adoption. "It isn't just a flagship app, but a resource-intensive app. [It has] a community of users that's far more concerned about performance than a lot of other things, which means that the WPF integration and the necessary changes to both the IDE and to the framework-[and] the WPF libraries to make those work well-is going to be probably the biggest critical success factor," explains Wagner. "It is going to either help both Visual Studio and WPF or hurt them both."
"With .NET 4, WPF gets 25 to 40 percent faster automatically," says Goldfarb, "just by moving your application forward." WPF 4 will offer multitouch support, better text clarity and pixel snapping, among other enhancements. A new Windows 7 Ribbon Control is subject to the Office Fluent UI License.
Even so, many enterprise developers are frustrated with the lack of basic WPF controls, which requires them to look to third-party options. Microsoft also has no plans to implement an MDI solution at the framework level despite repeated customer requests.
The Managed Extensibility Framework (MEF), currently available on CodePlex, is also part of .NET 4. It's a component system that offers a standard way to build apps with add-ins. The new Visual Studio 2010 shell is built on a subset of WPF and MEF.
New Class of Developer
As Microsoft continues to push .NET into the enterprise, critical technologies such as EF-added specifically to attract that audience-and WPF still appear unfinished in .NET 4.
".NET has made it much more realistic to consider Microsoft for these [higher-end] solutions but here's the problem," says Gartner's Driver. "When I am building an application with a five- to 10-year lifecycle, and that application is truly running my business, I am highly motivated to keep that thing stable-I don't want to rewrite the code every three years because they've introduced some latest and greatest new things.
"Now in the past, Microsoft could have gotten away with that because the average Visual Basic program only lasted three to five years. All of a sudden with .NET, they have a whole new class of developer," he says.
Microsoft's Kawasaki and Goldfarb acknowledge the challenges of trying to offer stability for enterprise developers and at the same time provide agility for developers interested in the latest technologies. "That's why we're putting a lot of focus on interoperability, being able to extend existing apps to run side by side," says Kawasaki. "That's a core tenant of .NET, as well as a lot of incremental enhancements that are very targeted for consumption for [your] type of app."
Driver thinks that over time Microsoft will be forced to keep larger portions of the platform more stable. "I don't think the changes in 4 are enough to warrant a major problem," he says. "It's not like they've thrown things out. They're not reinventing things in the CLR. But I do expect organizations that perhaps would have been much more aggressive in updating to the latest versions to take a more measured approach this time, and perhaps go through a bit more regression testing and those kinds of things."
Shaw also anticipates a slower adoption. "We've already seen resistance from customers migrating up to new frameworks even when there wasn't a new CLR, just new libraries," he says. "Their IT personnel freak out at the idea of new stuff on the box-including developer boxes and server boxes they have to support.
"With VS 2005/.NET 2.0, there was a lot of resistance to moving up to that new CLR," he recalls, "even though in my opinion it was a largely non-obtrusive upgrade and Microsoft did a great job of documenting the 97 or 98 really odd circumstances when that CLR would actually interfere with your system."
.NET 4 is a maturity wave, rather than a wave where Microsoft is introducing a bunch of new framework-level components, says Steven Martin, senior director of developer platform product management at Microsoft.
"When we find that developers are building the same thing over and over again, we think: Is that something we could productize to help them move to the next level in development? We have significant work going on right now to help us understand what some of those new app patterns are," he says.
"Clearly, as we move to a world where we're building applications that are truly composite, that take advantage of services that live in a cloud environment and a premises environment and [are] being authored by developers that are really aggregating services that other developers are creating," says Martin, "we think that that gives us an opportunity to look for additional components that we might offer in the framework and we will have more to talk about there over time."
The final release of .NET 4 and Visual Studio 2010 is likely around PDC2009 in November or early next year. Either way, .NET 4 is expected to have a Go Live license by the end of 2009.
Shaw is anxious to move past the virtual PCs and try out features in the new framework on a regular machine. "I'm hoping they will do that with these betas," he says. "Because otherwise, it kind of delays your ability to find out what happens when the framework meets the metal."
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.
MEF参见
发表评论
-
client profile introduction(客户端概要介绍)
2010-05-04 11:19 1322Introducing .NET Framework 3. ... -
Sqlserver 2008 express独立安装@XP3
2010-04-15 21:29 2896在Xp3上安装,颇费周折,贴出来,希望兄弟们再装时,省点劲。除 ... -
Mef architecture overview
2010-04-05 02:53 0MEF的设计可以分为三个不同的层次。容器层,这是用户能获得大多 ... -
用vs2008和NUnit进行程序自测
2010-04-04 20:47 1287“在进行单元测试之前需要弄清楚被测试代码实现的功能和相应的逻辑 ... -
.Net Framework各版本(3)-ASP.NET 3.5 Extensions CTP Preview Released 2007.12.09
2010-04-04 02:40 1375这是以前的文章,放在这里方便使用。原文链接:http://we ... -
.Net Framework各版本(1)
2010-04-01 00:13 2636微软,作为全球最有效 ... -
ZT,一篇好文
2010-03-13 18:10 672绪:一篇好文,故转贴 ... -
NET2005,如何打开Net2008的项目
2009-06-09 17:34 1043可以按以下步骤,就可以在VS2005中打开VS2008建立的项 ...
相关推荐
1. **.NET Framework 1.1**:这是.NET Framework的初始版本,引入了公共语言运行时(CLR)和.NET类库,为多种编程语言提供了一个统一的运行平台。它支持ASP.NET、Windows Forms和ADO.NET,极大地简化了Web应用和桌面...
标题提及的.NET Framework 4.6.1、4.6.2和4.8是.NET Framework的不同版本,每个版本都包含对前一个版本的改进和新功能的添加。下面我们将分别探讨这些版本的特点: 1. **.NET Framework 4.6.1**: - 发布于2015年...
Web-based Client Development (70-528) Mega Guide》是针对.NET Framework 2.0版本中Web客户端开发的一份全面指南,旨在帮助开发者掌握利用.NET Framework构建Web应用程序的关键技术和策略。该指南特别关注了考试...
- .NET Framework的公共语言运行时(CLR)提供了丰富的异常处理和调试支持,可以借助这些工具进行问题分析。 总的来说,.NET Framework 4.5.2是开发高质量、高性能应用程序的重要平台,但安装过程中可能会遇到各种...
当你尝试安装.NET Framework 4.5.2时,系统会检测到已有更高版本的存在,并阻止4.5.2的安装,因为每个较新版本的.NET Framework都包含了之前所有版本的功能和更新,所以安装较低版本通常是不必要的。 遇到“这台...
这个版本的.NET Framework是.NET Framework 4系列的一部分,它包括了大量的新特性和性能优化,旨在提升开发者编写高效、可靠且安全的代码的能力。以下是关于.NET Framework 4.0.30319及其核心组件的详细信息: 1. *...
.NET Framework 4.6.1作为4.6版本系列的一个重要更新,主要提升了性能、兼容性和安全性。这一版本引入了对WCF(Windows Communication Foundation)的新特性,增强了ASP.NET MVC(Model-View-Controller)框架,同时...
第二步:在对话框中,查看 .Net Framework 的版本号,例如 .NET CLR 3.5.xxxx,这意味着本机安装了 .Net Framework 3.5 sp1。 .Net Framework 的版本信息 .Net Framework 目前有多个版本,包括 1.0、1.1、2.0、3.0...
.NET Framework 4.5.2 是微软开发的一个关键的组件,它是.NET Framework家族的一个重要版本,主要用于支持Windows上的应用程序开发和运行。这个框架为开发者提供了一个丰富的编程模型,包括C#、VB.NET、F#等编程语言...
通过分析这些文件,我们可以学习到如何在不同的.NET Framework版本下使用VB.NET进行编程,理解各种版本引入的新特性和优化,以及如何利用这些特性来解决实际问题。例如,VB.NET中的类定义、继承、接口实现、异常处理...
这个框架版本在.NET Framework 4的基础上进行了大量的改进和新功能的添加,旨在提升开发者的工作效率,增强应用程序的性能,并提供更好的云计算支持。 1. **组件结构**:.NET Framework 4.5包括公共语言运行时(CLR...
.NET Framework 4.8 脱机安装程序是微软公司发布的一个重要的开发和运行平台,它为开发者提供了构建、部署和运行各种Windows应用程序所需的环境。这个版本是.NET Framework的最新稳定版,对于那些无法在线更新或者...
.NET Framework是微软开发的一个软件框架,它为开发者提供了在Windows操作系统上构建和运行应用程序的环境。这个框架包含了语言运行时(CLR,Common Language Runtime)和类库,支持多种编程语言,如C#、VB.NET、C++...
2. **性能提升**:微软不断优化.NET Framework的性能,4.6.2版本包含了多项性能改进,使得应用程序运行更加流畅快速。 3. **安全性更新**:KB3151800是一个重要的安全更新,它修复了.NET Framework中的多个漏洞,...
.NET Framework 4.6.1 Developer Pack 是一个重要的软件开发工具,由微软公司提供,用于支持开发者构建基于.NET Framework 4.6.1版本的应用程序。这个离线安装包(Offline Installer)允许用户在没有互联网连接的...
.NET Framework是微软推出的一个强大的开发平台,它是构建和运行各种应用程序的基础。这个框架结合了编程语言、类库、运行时环境等元素,旨在简化开发过程并提高跨平台兼容性。C#是.NET Framework的主要编程语言之一...
.NET Framework的核心组成部分包括Common Language Runtime (CLR) 和类库,这两部分共同构成了.NET Framework的基础。CLR是.NET Framework的执行引擎,负责管理代码的执行,包括垃圾回收、类型安全以及异常处理。...
2. LINQ(Language Integrated Query)的前身:虽然LINQ在.NET Framework 3.5中正式引入,但其基础概念在2.0版本中已经开始孕育,为后续的查询表达式奠定了基础。 3. ASP.NET增强:ASP.NET 2.0引入了母版页(Master...