February 2006 - Posts
WSCF offers a simple yet powerful WSDL Wizard that abstracts away all the nitty-gritty details of WSDL and therefore does not give room for making errors and wrong assumptions just by trying to use and applying everything that can be done stated by the original WSDL specification.
- Full support for Visual Studio 2005 and .NET Framework 2.0
- Generation of partial classes
- Support for Nullable types
- Support for SOAP 1.2 binding
- Pascal case conversion is now optional
- Improved support for generating code from SSL-hosted WSDLs
- The parameter ?wsdl can be configured to return the modeled WSDL
- Option for generating different styles of async calling code
- Option for generating improved data binding code available
- Option for generating List types instead of Collections
- As always - it's free!
Link
How do you detect if you are running as a ClickOnce application?
ActivationContext
Well, use can use check the AppDomain.CurrentDomain.ActivationContext property (as described here), which will always be non-null after you initialy publish the application.
IsNetworkDeployed
Or use can use System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed to determine if your app is a "Installed" ClickOnce application (means with offline support) and is currently installed (so running from the IDE returns false).
Via Damir Tomicic:
The Windows Server System Reference Architecture (WSSRA) describes a standardized infrastructure architecture for large organizations. Its goal is to serve as a foundation on which Microsoft and partner solutions can be built. To help achieve this goal, guidelines and blueprints provide organizations with access to the knowledge and resources needed to design and implement unique solutions with more speed and less risk and cost.
Link
Well, first of all what does it really mean an application is fast?
Usually it's the impression of the user - which is determined by how quick the UI pops up and how responsive it is.
But how do you get your UI quick and responsive? Well these two excellent articles from the MSDN Magazine give you a good starting point:
Today I worked so hard I even got the code churn percentage over 100! That probably means I changed more than every line of code... or what should this value tell me?

Need to continue to support .NET Fx 1.1 apps but want to use the new Visual Studio 2005 IDE?
The next Power Toys for Visual Studio might help:
MSBuild Extras – Toolkit for .NET 1.1 “MSBee” is an addition to MSBuild that allows developers to build managed applications in Visual Studio 2005 that target .NET 1.1.
Link | Forum
Another interesting Power Toys from the the Developer Solutions Team at Microsoft:
Managed Stack Explorer (MSE) is a lightweight tool that provides a quick and easy way to monitor .NET 2.0 managed processes and their stacks. The ability to view a program’s stack and how it changes over time is an important method in determining reasons for possible errors. MSE provides a simple interface to allow you to monitor multiple processes at once and build periodic stack log files. MSE works by quickly attaching to a process when a stack trace is requested, then detaching the moment the stack trace has been retrieved.
Link (gotdotnet)
Too many passwords? To many places where you keep track of your passwords?
Try this tool:
Today you need to remember many passwords. KeePass is a password manager which helps you to manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master key or a key-disk..The databases are encrypted using the best and most secure encryption algorithms currently known (AES and Twofish).
Link
Or this one: (this one event has a portable version you can run from USB stick without the need to install it)
Roboform is the top-rated Password Manager and Web Form Filler that completely automates password entering and form filling.
Link
(Thanks to Damir and Torsten for these two tips.)
Unit Testing with Visual Studio 2005
Strengthening Visual Studio Unit Tests, MSDN Magazine, March 2006
Write Unit Tests With VSTS, Visual Studio Magazine, January 2006
Unit Testing and Generating Source Code for Unit Test Frameworks, September 2005
Unit Testing in General
Presentation: Net Objectives The Case For Unit Testing Streamzine
You found another good source of information on Unit Testing in VS 2005? Post it as comment!
[Excerpt from my more complete list on www.dotnet-online.com/teamsystem/]
Found as a workaround for Forms designer issues on the MSDN Product Feedback Center:
Workaround Steps:
1) Go to your project directory, list the hidden files and look for one ending in .suo. Delete that file. This file just tracks what you had open, so you won't lose anything important.
2) You should now be able to start VS. Start two instances of VS, attach one to the other (Debug >> Processes >> devenv.exe).
3) Choose Exceptions >> CLR Exceptions >> Break when exception is thrown
4) Go the the other version of VS (the one that's being debugged) and open your form.You'll start breaking on exceptions. Hit continue until you see an exception of type ArgumentException.Look at the stack, and post it here. If it's something in your code you can fix it but in either case the designer shouldn't crash there, so the stack will tell us where we're letting an exception sneak through. We did a bunch of work to catch all of those, but there's a lot of possible nooks and crannies.
Daniel Petri, MVP für Windows Server from Israel, created an excellent list of how to customize your Windows.
Here are the topics covered by him:
-
Get rid of the Tour prompt
-
Get rid of the MSN Passport creation prompt
-
Restore my Desktop icons!
-
Copy the I386 source folder to your HD and change the source path
-
Delete Temporary Internet Files (and make the temporary storage space smaller)
-
Configure IE to download more than 2 concurrent files
-
Configure a larger number for the grouping of Taskbar buttons
-
Get rid of the Hibernation support
-
Customize Windows Explorer views and buttons
-
Add a the Quick Launch toolbar
-
Add a shortcut to Control Panel and the Administrative Tools to the Quick Launch toolbar
-
Add a shortcut to Command Prompt to the Desktop and to the Quick Launch toolbar
-
Add a Command Prompt option to the default Explorer right click context menu
-
Install the Microsoft Powertoys suit
-
Add Local Area Connection icons to your system tray
-
Disable the Memory Dump file creation
-
Disable the Error Reporting option
-
Enable the Auto Update option
-
Disable the Fast User Switching mode and the Welcome Screen (Workgroup only)
-
Disable the administrative shares
-
Set the location of the My Documents folder
-
Configure local user options
-
Configure the Pagefile (virtual memory) location
-
Configure Remote Desktop access
-
Create a Send To Notepad and Send To MAPI shortcuts
-
Enable EFS Encryption by right-click
-
Restore the W2K-style search window
-
Install the ISO Burner PowerToy
-
Install the new Windows Server 2003 RDP 5.2 client
Link
EventMore:
Brief Description
ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly. It works on executables and DLLs alike and comes with several options for controlling the processing and format of the output. See the accompanying documentation for details.
Download
Look at this post by Randy Miller how the C# test team tested Visual C# 2005.
TAO: Test Automation Object
An important part of what a QA team does is automating test scenarios, many of which require manipulating the user interface. Over time we have created internal tools based mostly on Active Accessibility to do so. A common and significant problem with these tools is synchronizing the tests with the target application; writing very robust tests using this method has not always been easy. When the product UI changes, it often breaks tests and simple focus issues on the test machine can cause false positives.
Trying to circumvent this problem the C# test team created TAO (Test Automation Object). TAO is basically a test object in the language services that is only instantiated in a test environment. [...]
Interesting approach.
- In the Start Menu go to Run type "gpedit.msc" and press Enter
- Now a Group Policy editor will open. In this window navigate to: Computer Configuration -> Administrative Template -> Windows Components -> Windows Update
- Double click on No auto-restart for scheduled Automatic Updates installations
- In the settings window choose Enabled and click OK
- Double click on Re-prompt for restart with scheduled installations
- In the settings window choose Disabled and click OK
- Close Group Policy Editor
Here you'll find samples to speed you up when building your own Provider based features:
Code Template for Building a Provider Based Feature
The provider model in the .NET 2.0 Framework is not just for use by various features like Membership and Role Manager. The core classes that are used to build provider based features are all public and can be used in your own projects to add a pluggable and extensible provider layer. This download contains five sample files that you can use in a C# project to start building a provider based feature. The readme included in the zip file explains how to add the files to a C# assembly project and then edit the code to create a starting point for building out your own provider based feature.
Download | Website
You do not have SQL Server on your website, but still want to you the advanced features provided by the ASP.NET 2.0 provider model?
Here's the solution:
Sample Access Providers
The Sample Access Providers Starter Kit is a C# class library project containing implementations of ASP.NET 2.0 providers for the following features: Membership, Role Manger, Profile, and Web Parts Personalization. All of the providers use Microsoft Access for database storage. The starter kit also includes an empty Microsoft Access database containing the database schema used by the providers, as well as a sample web.config showing how the providers can be configured for use in an ASP.NET 2.0 application.
Note:You will need Visual C# Express to compile this starter kit before using it with Visual Web Developer Express.
Download here