JetBrains ReSharper 1.5 has been released! This Visual Studio .NET 2003 Add-In includes following features:
Syntax and Error Highlighting
- Error highlighting – automatically analyses code, highlights syntax or errors, can detect and warn about potential problems.
- Warnings – make user aware of redundant using directives; declared but never used local variables; declared but never used private fields; unused private methods; unused parameters in private methods; redundant type casts; unreachable code; documentation errors.
- Marker bar emphasizes errors where they occur in the code, navigates directly to the marked code if user clicks on marker.
- Navigate easily between errors and warnings in code
- Visual indicators in margin show where current method hides, overrides, or implements the corresponding method of a base class/interface
- Enhanced syntax-highlighting complements default Visual Studio high-lighting with support for highlighting fields, local variables, types, and more.
Refactoring Support
- Rename symbols with reference correction – automatically find and correct all references to renamed namespace, type, method or field.
- Move types easily between namespaces with automatically updated references.
- Use "Change method signature" to modify signature of a method (add, remove, rename or reorder parameters, or to change return types or parameter types), with automatic reference correction.
Enhanced Navigation
-
Save time moving within the code
-
Quickly navigate to type or file by typing its name
-
Select a file from the list of most recent 30 files
-
Navigate easily to a declaration of a symbol under the caret
-
Move easily to declarations of base classes or overridden/implemented methods
-
Move just as easily down the hierarchy, selecting branches to correct derived class or overriding method
-
Easily view the structure of the current file and navigate instantly to any member
Even with the arrival of Visual Studio 2005 refactoring support I'm sure this tool can and will provide some great productivity features.
More information on ReSharper 1.5 features can be found in this datasheet.
[Via Bill Ryan] Chase Thomas - working for Magenic Technologies - describes how you could build a better basepage framework on the .NET Framework 1.X in this series of posts:
These posts should be useful for those of us still using ASP.NET 1.X. However a lot - if not all - will be obsolete pretty soon with the arrival of ASP.NET 2.0 and its built-in master pages functionality.
If you're interested in ASP.NET 2.0 and living in Belgium, the ASP.NET 2.0 On Tour later this week is a must-attend event. I've been told a lot of people will be attending these sessions ... given this agenda I'm convinced it'll be an interesting day:
- Visual Studio 2005 and ASP.NET 2.0 for Web Development
- Visual Studio Team System 2005 for Web Development or IIS 7.0 futures
- Migration Session
- Other selected products and interesting features
In this context: if you're looking forward to migrate your existing .NET Framework 1.X applications to the .NET Framework 2.0, you should check Jay Roxe's post. He's looking for applications that can be used for testing compatibility between .NET Framework 2003 and Whidbey. Read more on his blog on how to submit your app.
A couple of my colleagues and co-workers keep on asking me questions on how successfully installing the December CTP Release of Visual Studio Team System. Though I'm running a two-VPC setup configuration since a couple of weeks, I'm sure this excellent MSDN article by Dave Bost will help you out. The article is a step-by-step guide on how to install and configure the latest release of Team System in a virtual environment using Virtual PC 2004.
Dave even covers how to setup a base virtual machine making use of the System Preparation Tool 2.0.
I guess that now everyone interested to see how Visual Studio 2005 Team System can help you manage the application software lifecycle can give VSTS a try. No excuses anymore!
Last week a colleague [thanks Fred!] pointed me to the announcement that the second release candidate of Spring.NET 0.6 has been made available for download.
Spring.NET, a .NET application framework, is a port of the Java based Spring Framework. Spring for Java contains a lot of functionality and features, many more than Spring.NET currently offers. The initial release of Spring.NET contains a full featured Inversion of Control container. Subsequent releases will contain support for Aspect Oriented Programming (AOP), ASP.NET, Remoting, and data access. The Spring.Core library is the most fundamental part of the framework, and provides the Inversion of Control features allowing you to manage object container functionality. Most of the libraries in the Spring.NET distribution depend upon and extend the functionality provided by this core library. The basic concept here is provided by the IObjectFactory interface (and attendant implementations), that provides a simple yet elegant factory pattern removing the need for programmatic singletons and numerous service locator stubs, allowing you to decouple the configuration and specification of dependencies from your actual program logic. An extension to the IObjectFactory, the IApplicationContext is also located here and and adds more enterprise-centric features such as text localization using resource files, event-propagation, and resource-loading. More in-depth documentation to Spring.NET's features is available here.
The second release candidate of Spring.NET 0.6 is both a feature enhancement and bug fix release. Among the new features in this release are:
- Custom configuration section handler to create hierarchical application contexts
- Extensible protocol handler to resolve URIs to an InputStream for IResources. Emdedded resource, .NET configuration file, and http(s) protocols supported.
- Threading utilities such as Semaphore
- Object Pooling API
- Object Navigation API
- Loosely coupled event model
- Added ContextRegistry to simplify global access to application context
- Support for configuration of 'read-only' collection properties.
Important changes and bugfixes include:
- Removed old custom configuration handler ApplicationContextHandler. Use new ContextHandler instead.
- Schema changes: object attribute 'class' changed to 'type' and <map> element changed to <dictionary>
- Packaging changes: Spring.Context.dll and Spring.Collections.dll were removed and their classes placed in Spring.Core.dll
- Updated user documentation and added new example programs
- Improved localization support to return resource objects and apply resources to object
- Replaced IDisposableObject with standard .NET IDisposable
- Fixed registration of abstract IObjectPostProcessors and IObjectFactoryPostProcessor
- Fixed DTD validation of custom configuration section
- Fixed parsing of CDATA sections
See the changelog for details.
Check also out the other on-line references for Spring.NET:
A new build (74) of Microsoft Solutions Framework (MSF) for Agile Software Development, Beta has been made available through the Microsoft Download Center.
This download contains the process guidance that will be shipping with Visual Studio Team System. MSF for Agile Software Development is a scenario-driven, context-based, agile software development process that utilizes many of the ideas embodied in Team System. This process incorporates proven practices developed at Microsoft around requirements, design, security, performance, and testing.
This build of MSF Agile has three main tabs:
Concepts: the content on this page dives into some of the Visual Studio Team System 2005 concepts like Process Guidance and Team System.
Microsoft Solutions Framework (MSF) Agile is process guidance for the current Team Project. Key concepts for MSF Agile include roles, activities, workstreams, and work products.
Team System provides tools to enact the MSF guidance. It explains users and groups, the work item database and metric warehouse, source control and project portal.
Cycles and Iterations: the smooth integration of MSF in Team System supports rapid iterative development with continuous learning and refinement. It shows how product definition, development, and testing occur in overlapping, iterations, resulting in incremental completion of the project.
Principles: Microsoft Solutions Framework (MSF) Agile is a scenario-driven, context-based, agile software development process for building .NET and other object-oriented applications. MSF Agile directly incorporates practices for handling quality of service requirements such as performance and security. It is also context-based and uses a context-driven approach to determine how to operate the project. This approach helps create an adaptive process that overcomes the boundary conditions of most agile software development processes while achieving the objectives set out in the vision of the project.
Core ideas of MSF agile are:
Partner with Customers
Foster open communications
Work toward a shared vision
Empower team members
Establish clear accountability and shared responsibility
Focus on delivering business value
Stay Agile, Adapt to Change
Invest in quality
Learn from all experiences
Always Create Shippable Products
Besides the nice interface and graphs in the download, it also contains an in-depth overview and description of the roles involved in MSF agile (Architect, Business Analyst, Project Manager, Tester, Developer, Release Manager).
This MSF Agile kit also provides a number of examples and templates for each role.
Example: the solution architect is guided through the different steps of creating a solution architecturea and he has also some examples of an application diagram, system diagram, prototype and a logical datacenter diagram available for reference.
MSF Agile provides guidance to all team members on work items. A work item is a database record which Visual Studio Team Foundation uses to track the assignment and state of work. The MSF Agile process defines five work items to assign and track work. These five work items are the scenario, quality of service requirement, task, bug, and risk.
If you want to get a grip on MSF agile, make sure to check the index tab which covers the work streams. Work streams are groups of activities that flow logically together and are often associated with a particular role. This page is a great place to start diving into MSF Agile.
Sam Newman posted this diagram which describes The Agile Release Process

The process described in the diagram above is more or less the approach we currently take. However we also have an integration test phase to test (some of) our builds against a third-party codeline(s).
With Visual Studio 2005 Team System almost all of the necessary elements to adopt this agile mindset are present. While digging into VSTS 2005 I must admit it's - so far - a great experience to control all these software lifecycle aspects from within one environment. There's so much to discover in VSTS 2005. I can only recommend to give it a try yourself!