WCF, WF and CardSpace Samples is a treasure throve of samples for WCF and WF. In these samples there are five hidden tools you should know about. Also, in well hidden folder under Microsoft SDKs there are two incredibly useful tools for your every day WCF developer.
WCF Tools
WCF Service and Client Configuration editor
Location: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcConfigEditor.exe
What is it for: Nice and easy way to edit your WCF configuration files.
You can run this tool either from the location above or from Visual Studio. In VS its located under Tools menu. If you have your project setup correctly you could just right click any .config file to start editing.
WCF Service Log Viewer
Location: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcTraceViewer.exe
What is it for: Reviewing the trace logs from WCF service.
Using the WCF Configuration editor open up the Diagnostics folder. You can find bunch of knobs to turn on service tracing.
Custom Binding Configuration Code Generator
Location: \WCF_WF_CardSpace_Samples\WCF\Tools\ConfigurationCodeGenerator
What is it for: It generates all necessary plumbing for custom bindings.
If you are into writing custom bindings this tools is a must. Custom bindings are plugged in via the <extensions> element in the <system.serviceModel> element.
<extensions>
<bindingElementExtensions>
<add name="udpTransport" type="Microsoft.ServiceModel.Samples.UdpTransportElement, UdpTransport" />
</bindingElementExtensions>
<bindingExtensions>
<add name="sampleProfileUdpBinding" type="Microsoft.ServiceModel.Samples.SampleProfileUdpBindingCollectionElement, UdpTransport" />
</bindingExtensions>
</extensions>
This is a command line tool. You can see this blog post about how to setup command prompt with Vista so you can right click on any folder and drop in the command prompt window.
Usage:
ConfigurationCodeGenerator
/be:<BindingElementTypeName>]
/sb:<StandingBindingTypeName>]
/dll:<Dll>
Example:
ConfigurationCodeGenerator.exe /be:UdpTransportBindingElement /sb:SampleProfileUdpBinding /dll:..\..\..\..\Extensibility\Transport\Udp\CS\UdpTestService\bin\Debug\UdpTransport.dll
Custom Channels Tester
Location: \WCF_WF_CardSpace_Samples\WCF\Tools\CustomChannelsTester
What is it for: Creates a sample application using your custom binding and tests the client and server implementations.
Workflow Tools
External RuleSet Toolkit
Location: \WCF_WF_CardSpace_Samples\WCF\Extensibility\Rules\ExternalRuleSetToolkit
What is it for: Creating workflow rules outside Visual Studio.
Rules are stored in the database or they can be exported to .rule XML file. In the sample you will find the Setup.cmd and Setup.sql which creates the Rules database and RuleSet table in SQLEXPRESS instance by default.
You use these rules with the Policy activity in your workflow or you can load and execute rules with the System.Workflow.Activities.Rules.RuleEngine in your code.

Exported .rule file.
Rules stored in the database.
Tracking Profile Designer
Location: \WCF_WF_CardSpace_Samples\WF\Applications\TrackingProfileDesigner
What is it for: Recoding Workflow, Activity or User level tracking points. Good for debugging. Also generates tracking profile XML.
You will need to install few scripts in the WF tracking database (just create empty database) C:\Windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\EN\
There are few good articles here and here about tracking.
Workflow Monitor
Location: \WCF_WF_CardSpace_Samples\WF\Applications\WorkflowMonitor
What is it for: Monitors current workflow instance.
Useful as a first aid kit for debugging your workflow.
What tools do you use and find useful in your every day WCF/WF adventures?
Petar