Visual Studio next generations
Codename "Orcas". CTP has been launched in March 2007. RTM is scheduled for late 2007.
Codename "Rosario". Will build further upon Orcas, featuring even more Team productivity trough their Team System.
WPF Demos that Rocks
Fabrikam. A virtual webseller of clothing, an example that uses SharePoint Server and WPF. Can not find it on the internet.
Family explorer by Vertigo. Will be made public by the end of this week.
WPFWonderland is all about WPF and WPFe
User Account Control (UAC) is a new feature (note that a feature is not always an improvement) that influence applications running on Windows Vista. UAC is responsible for blocking access to functionality that requires admin priviliges.
When a user (even with local admin rights) starts an application, it will normally start without the admin privilige.
There are two ways to deal with admin tasks within an application:
- Use a manifest that specifies that an application needs the admin privilige.
This results in an application that upon starting notifies the user that the priviliges are being elevated to the admin level.
- Elevate privilige "just in time" to the admin privilige within a running application, that started with normal privilige.
Visual Studio Tools for Office is an SDK that enables you to write fully blown Add-Ins for all office applications. This enables you to combine the power of .NET custom applications that are fully integrated into i.e. Excel or Powerpoint. With a few lines of code it's possible to add items to a custom ribbon. These add-ins can be document based or application based.
The document and Add-In can exist locally on the PC or somewhere remotely on the network.
3 scenario's for these customizations exist:
- Local document, local Add-In
- Local document, remote Add-In
- Remote document, remote Add-In
One remark must be made that the full functionality of VSTO only works under VS 2005 Team System Edition. Some functionality will not work under VS 2005 Pro.
Schema can be placed under source control trough the use of scripts. Every obejct within the database gets it's own script, like table, index and so on.
Developing a database project with Visual Studio looks very similar to devloping source code within a project. A live database can be imported and brought under source control. Check in and check out is very similar as with code. DBA Developers can change the database offline. When ready the DBA can review and update the live database.
Just renaming a field or so leads to "compile errors", because the field could be referenced. "Rename Refactoring" is capable of updating a field and all the places where it is referenced. This is very powerfull. This comes (optionally) with a "preview changes" dialog and it's also possible to use undo.
Database build, deployment and data generation can be integrated into MSBuild. Two types of deployments exist:
This only deploys the difference between the target and the project.
Unit testing is now available, so you're existing code does not break upon changes.
PowerTools will be distrubuted trough the web. These include:
- Move Schema Refactoring
- Disambiguate Schema Refactoring
- sp_rename Generation
- Data & Schema Compare Build Tasks
- SQL Script Pre-Processor
- Dependency Tree Viewer
- API Access to Schema View
"There is NO MAGIC to make your applications run faster"
- Process Explorer by Sysinternals, can be dragged over the application.
- Process Monitor by Sysinternals.
- Performance Monitor
- Visual Web Developer 2005 Express Edition
- VS 2005 TE for Software Testers
- VS 2005 Team Test Load Agent
- Use Release Builds! If the release item is unavailable it could be that this option can be found in the web.config under the compilation tag.
- Minimize Exceptions, because they are expensive.
- Optimize Data Access.
Avoid using unmanaged classic ADO. Use
stored procedures for complex functionalities.
- Design for Caching
Output caching (caching a whole page hat has been requested)
Fragment Caching (caching regions of a page)
Visual Studio Team Test lets you easily create repeatable tests, that can be adjusted to generate random requests to the ASP.NET page under test. These tests can be used within a load-test scenario. Performance counters help in determining where bottlenecks can be found.