It has been a little over a year since we shipped VS 2008 and .NET FX 3.5. Since then the team has been heads-down focused on the next version of our product line with VS 2010, VSTS 2010 and .NET FX 4.0.
In addition, we have been working on a number of interesting technologies that we have updated you with in various forms. I have always been a big believer of continuous innovation and the work we have done in the last year to deliver ongoing value proves that. Just last week, I talked about the announcements for a number of products including Silverlight 3 Beta, Expression Blend 3 Preview and the Web Platform Installer.
I thought it would be a fun exercise to catalog many of the tools and technologies that we have made available to you since we shipped VS 2008 and .NET FX 3.5. Here we go:
Libaries, Tools & Tooling
Windows Azure Tools for Microsoft Visual Studio
o Windows Azure Tools for Microsoft Visual Studio extends Visual Studio to enable the creation, building, debugging, running and packaging of scalable services on Windows Azure.
Visual Studio Team System Database Edition PowerTools (DataDude PT2008 v1)
o A set of enhancements and tools that complement and improve the user experience of VSTS Database Edition 2008
Microsoft Visual Studio Tools for the Office System Power Tools
o The VSTO Power Tools are a set of 9 freely-downloadable tools and code samples for use by developers building VSTO solutions.
Web Deployment Projects for Visual Studio 2008 & Visual Web Developer
o Additional functionality to build and deploy Web sites and Web applications in Visual Studio 2008.
StyleCop (StyleCop 4.3.0.x)
o StyleCop analyzes C# source code to enforce a set of style and consistency rules.
FXCop 1.36
o The latest version of FXCop; FXCop analyzes managed code assemblies reporting information such as possible design, localization, performance, and security improvements.
Managed Extensibility Framework (MEF)
o A new library that enables building extensible applications, frameworks, and application add-ins whether they be web based, smart client, or back-end services.
VB Powerpacks
o Free add-Ins, controls, components, and tools for you to use with Visual Basic to make developing great applications even easier.
Captions Language Interface Pack (CLIP)
o Captions Language Interface Pack for Visual Studio 2008 is a tool that uses a tooltip caption and/or a small dialog to display translations for user interface items in Visual Studio 2008. The CLIP downloads are available in the following languages: Arabic, Czech, Hebrew, Hindi, Malayalam, Oriya, Polish, Tamil & Turkish.
MSF for Agile Software Development Process Template v4.2
o An agile software engineering process that incorporates key ideas from the Agile software movement for teams through Visual Studio Team System.
Team Foundation Server Power Tools
o Team Foundation Server Power Tools is a set of enhancements, tools and command-line utilities that improve the Team Foundation Server user experience.
Visual Studio Team System 2008 Team Foundation Server MSSCCI Provider
o Enables integrated use of Team Foundation Version Control with products that do not support Team Explorer integration
Silverlight & WPF
Silverlight 2 Controls Source and Unit Test
o Source code to the controls shipped with Silverlight 2 RTW. Application developers are free to use this code, modify it, and then re-package it in their applications.
Deep Zoom Composer
o Free power toy that allows you to import and compose high-resolution images for export to Silverlight Deep Zoom and Seadragon Ajax technologies.
Silverlight 2 Control Pack
o This download contains the source code and unit tests for the managed Silverlight 2 controls included in System.Windows.dll, System.Windows.Controls.dll, and System.Windows.Controls.Data.dll.
Silverlight Toolkit
o The Silverlight Toolkit is a collection of Silverlight controls, components and utilities made available outside the normal Silverlight release cycle.
WPF Toolkit
o The WPF Toolkit contains three WPF controls including Datagrid, DateTime control and Ribbon.
WPF Ribbon
o CTP of Office Ribbon control implemented in WPF for use by WPF developers.
photoSuru
o A WPF starter kit for multimedia applications.
ASP.NET
ASP.NET MVC
o ASP.NET MVC enables you to build Model View Controller (MVC) applications by using the ASP.NET framework.
ASP.NET Lightweight Test Automation Framework
o The Lightweight Test Automation Framework for ASP.NET was developed and is currently used by the ASP.NET QA Team to automate regression tests for the product.
ASP.NET AJAX 4.0 Preview
o A number of ASP.NET AJAX updates built on ASP.NET AJAX 3.5 SP1.
ASP.NET Dynamic Data
o ASP.NET Dynamic Data provides a framework that enables you to quickly build a functional data-driven application, based on a LINQ to SQL or Entity Framework data model.
ASP.NET Image Generation
o For displaying images from a DB or generating an image dynamically.
Languages
DLR in MVC
o Integration samples of DLR in MVC.
JQuery Intellisense Updates
o Updates for rich JQuery Intellisense for Visual Studio 2008 and Visual Web Developer
Iron Python
o IronPython is an implementation of the Python programming language running on .NET. It is well integrated with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining full compatibility with the Python language.
Visual C++ 2008 Feature Pack
o The Visual C++ 2008 Feature Pack extends the VC++ Libraries shipped with Visual Studio 2008 to include MFC extension support for Office Ribbon style interfaces, fully customizable, modern Visual Studio-style docking toolbars and panes, advanced GUI controls and more. The Feature Pack also includes an implementation of TR1 including, but not limited to, regular expression parsing, new containers and polymorphic function wrappers.
CLR
New CLR Interopability Support
o Open source tlbimp and A PInvoke Signature Generator that conveniently converts from C/C++ to managed P/Invoke signatures or verse visa and Tlbimp, a command line tool which creates a managed, Interop assembly from a COM type library.
New CLR Security Enhancements
o A set of projects that extend the security APIs shipped with the .NET framework to provide additional functionality; these include CAS Helper library, New Crypto-algorithms and Automated security debugging library.
VS Helper and FxCop for CLR Addins
o System.AddIn helper VS add-in and FxCop rule to validate versioning and isolation safety of contracts on object models
Guidance
Composite Application Guidance for WPF and Silverlight – February 2009
o This release helps you build modular and composite WPF and Silverlight applications, simplify the composition of your user interface, and reuse code between Silverlight and WPF. With it, you'll build solutions that take advantage of the full power of Silverlight and WPF and that are highly maintainable and testable. It includes source code, sample applications, and guidance on building client architectures and implementing UI patterns.
Composite Application Guidance for WPF – June 2008
o This release will help you build modular and composite WPF and simplify the composition of your user interface. With it, you'll build solutions that take advantage of the full power of WPF and that are highly maintainable and testable. It includes source code, sample applications, and guidance on building client architectures and implementing UI patterns.
Smart Client Software Factory – April 2008
o The Smart Client Software Factory provides an integrated set of guidance that assists architects and developers in creating composite Windows Forms applications. The software factory provides guidance that helps to automate designing and developing occasionally-connected modular Windows Forms client applications. The resulting application architecture is both extensible and customizable.
Web Client Software Factory – February 2008
o The patterns & practices Web Client Software Factory is a comprehensive set of guidelines, assets, and automation that developers use to create architecturally sound, modular, Web applications. The factory provides guidance that helps you build highly maintainable and testable ASP.NET applications.
Microsoft Enterprise Library
o A collection of reusable software components designed to assist software developers with logging, validation, data access, exception handling, and more. Entlib is provided as source code, test cases, and documentation that can be used "as is" or extended and encapsulates the Microsoft recommended and proven practices for .NET application development.
Namaste!
PingBack from http://blog.a-foton.ru/index.php/2009/03/25/delivering-ongoing-value/
What does it mean value?
From what I can see, JIT is still generating dead slowest code on the planet.
WinForms fixes for page faults, GDI+ and more are simply left as is.
WinForms DataGrid still uses the slowest text rendering on the planet.
WPF and Silverlight are even heavier than WinForms ( no wonder they are unusable for any serious latency-sensitive app).
Why?
Is the sole reason of MS to ignore and leave things unfixed, and deliberately slow?
And then provide more value with new value that is even slower and more page-fault generating and RAM eating?
Guys, people are seeing through this game for a long, long time now
Publicación del inglés original : Miércoles, 25 de marzo de 2009 a las 1:02 PST por Somasegar Hace poco
Hello Baoci,
My team works on several of the areas you reference. I'd like to get some more info about the WinForms rendering and JIT code-gen issues you are seeing. Please contact me at mattgi@ms and we can help investigate.
Where's the Entity Framework???? Are you guys really committed to this or not? I'm getting the feeling that this will become ObjectSpaces 2.0, or WinFS, or L2S, or you get the point (I hope).....
We need a solid ORM solution for .Net!!!!!
Nos EUA estão chamando de geração Y a primeira geração a viver o mundo conectado. Hoje eles/elas têm
Hey tg,
We are absolutely committed to the Entity Framework and shipped the first version as part of VS 2008 SP1 and .Net FX 35 SP1. This post highlights new capabilities above and beyond what we did in VS 2008 SP1 and .NET FX 3.5 SP1 (which is where we shipped the Entity Framework).
For the upcoming release, we’ve made some significant additions to the Entity Framework that we will ship as part of .NET FX 4.0:
• POCO : Support for Plain Old CLR Objects. Developers will be able to write their own classes that work with the Entity Framework without need for implementing special interfaces or deriving from specific base classes.
• Lazy Load : True lazy loading abilities
• Foreign Keys : Working with our partners in ASP.NET we are implementing Foreign Key based associations that will improve the experience with ASP.NET and MVC
• Model-First : Support to define a model and generate a database from it
• Stored Procedures: Increased capability for flexible stored procedure mappings and scenarios
• Singularization / Pluralization: A default experience in our tools
• N-Tier : Improved APIs helping developers to build n-tier apps directly on top of EF or with a framework like .NET RIA Services
• Customizable Code-Generation: T4 templates for code-gen. Our tooling experience uses WF to define the tooling steps. These two improvements give developers and ISV’s a wide range of opportunities for extending and customizing the platform.
For more information on the road map you can visit the Entity Framework Design Blog. You might also want to check out improvements we made to ADO.NET Data Services at ADO.NET Data Services team blog.
Jason
(Data Programability)
Hi Baoci,
I wanted to thank you for your frank comment and I'd like the opportunity to talk to you more specifically about where you think we could do more for performance.
I encourage you to read my blog as well http://blogs.msdn.com/ricom and to write me
ricom (at) microsoft.com
[I broke that up to try to dodge some spam bots please replace the (at) with @ like usual. ]
If that doesn't work you can use my blog links to send me email too.
Hi,
I realized that I had missed the Enterprise Library work from the list. So, I added it to the "Guidance" section in this blog post.
-somasegar
S. Somasegar, Senior Vice President Developer Division, has provided a catalog of developer tools that
Hi There Soma,
You forgot to list the obvious short comings of each technology as that level of detail would also help us. To give you some ideas where to begin - how about lack of XMAL debugger and a carousel control in WPF - class browser in visual studio is useless - inability to subclass UI controls - no UI designers in MVC amongst other things - and the most obvious mental wizardary a missing data centric language.
The funny part is even with all these tools Visual Studio is still 'NOT' able to generate an application as fast, efficently or less lines of code as Visual Studio 6.0. Keep up the good work, at this rate you will be spinning a bloated version of assembly as the next technology breakthrough.
Here is a thought give us back Visual Studio 6.0 or at a minimum Visual FoxPro to appease those of us that just want to get our work done and realize there is more to life then debugging a million lines blend generated xmal with snoop. Then keep Visual Studio around for programmers that enjoy writting massive amounts of code, learning bloated frameworks, 6 different data access methods that all suck and being on a constant learning curve. This way everyone will be happy.
I found your blog from Mark Gordon's facebook. Visual Studio it isn't a good product. With no rapid application development features or command and function based language it's not productive to use and performs very poorly. Visual FoxPro was much better for developing database applications. Visual FoxPro should continue to be enhanced for programmers that don't like using Visual Studio and .NET.
Please add:
- Code refactoring for TSQL stored procedures
- Code reformatting for TSQL stored procedures
- C# refactoring - Push local variable to innermost scope it is used
- C# compiler messages - List methods that could be made static
- C# compiler messages - list unreferenced global variables, class level variables, local varaibles, methods, classes, assemblies
- C# refactoring - remove unused references
- C# refactoring - removed/comment out unused functions, variables, constants
- C# compiler message - list methods that are public which could be made private
- C# compiler - option strict to prevent dynamic variables/variant data types
- C# tools - find duplicate code like the symian or java based tools have
- C# refactoring - convert property to class level variable (i.e., reverse of the existing refactoring)
- C# tools - show reference hiearchy in application and BCL (to let us see if a .NET framework class is being used in only one place. We want to minimize the number of BCL classes used in our applications to lower risk and reduce maintenance/support costs)
- C# tools - A MS supported tool convert code from VB.Net to C# or C# to VB.
- C# linker/project properties - option to compile and statically link an application so that it has 1 executable file and only needs the .NET framework to run.
- VS setting - don't auto checkout source code from VSS when it is modified (follow subversion/CVS/RCS model).
- VS setting - make color scheme available for project window, settings winndow, etc like it is available for the source code editor (i.e., I want a high contrast lime green/light blue text on black background).
- VS reports project - fix bug where the XML for the RDL gets out of synch with what you do in the designer/reports properties page. Changing/removing parameters will sometimes not remove the ones you removoed in the GUI. Same goes for changes made to the data source.
I also found your blog from Mark Gordon's facebook.
I have been working with VFP from the FoxBase + ages.
This tools allowed me to work with OS: MS-DOS, SCO Xenix in multiuser, networking with Network Netware, and of course with Windows. All with the same compiled file.
VFP is a tool very focused to work with databases, in my case, it is the kind of software I have been developing all my life.
I can't understand why MS leave VFP, and force us to use a tool with a lot of complexity, very poor accessibility to databases, forcing us to use SQL Server if we like something callable as "integrated". Of course, nothing to say about creating reports.
Seriusly, VS GUI is about 3 or 4 times more slower in my machine than the VFP9 GUI, a lot pageframes, slow windows, etc.
VS have not a command line with the power of VFP.It really need it. I must have a testing winform and compile it each time if I like to do some test.
VS is not intuitive. The help file is not optimized, it made me lost a lot of time.
In the 2009 year, I think I do not need to think how creating a variable can affect the system... It is the work of the language.
The compiler and the GUI can't do it better/rushmore?
A thing who make my crazy, is telling the compiler the variable type definitions.
Intellisense is not an excuse. Who think is "logical" define an object like:
UseDefaultCredentialsService service = new UseDefaultCredentialsService();service.UseDefaultCredentials = true;
Nobody hate write the same UseDefaultCredentialsService two times in the same line? Really it is mandatory? The compiler can't be more intuitive with writing it only one time?
I can run an application in VFP9, developed in FoxBase+ 20 years ago without touching a line of code. Can you do it with an app developed for the first NET framework? Compatibility is very important with big projects, with a long life of the product developed.
I think VSNET need to be more thin, simple, allowing applications to run in others OS (read Apple OSX, Linux, Android, SUN, etc). What is the reason to have a complex CLR if the app only works in Windows? And why you must compile different versions to run Windows 32 or 64 bits? The CLR should do this work.
I would like to run my application in the cheapper machine, the oldest, and the newest, not only in the newest and fastest. My customer is not a geek, is a office worker, they do not change the PC until it fall, they don't need a mainframe.