Customizing the Prop Snippet

I'm quite busy with a project I'm on with Clemens (the last before he'll join the Indigo team at Microsoft) - just to explain why it got bit quiet around me :-) Here is a modified version of the prop snippet that I want to share ( and remember :-P ). <?xml version="1.0" encoding="utf-8" ?> <CodeSnippets  xmlns="">       <CodeSnippet Format="1.0.0">             <Header>                   <Title>prop</Title>                   <Shortcut>prop</Shortcut>                   <Description>Code snippet for property and                   backing field</Description>                   <Author>Microsoft Corporation</Author>                   <SnippetTypes>                         <SnippetType>Expansion</SnippetType>                   </SnippetTypes>             </Header>             <Snippet>                   <Declarations>                         <Literal>                              <ID>type</ID>                               <ToolTip>Property type</ToolTip>                              <Default>int</Default>                         </Literal>                         <Literal>                              <ID>property</ID>                              <ToolTip>Property name</ToolTip>                              <Default>MyProperty</Default>                         </Literal>                         <Literal>                              <ID>field</ID>                              <ToolTip>The variable backing this                              property</ToolTip>                              <Default>myVar</Default>                         </Literal>                   </Declarations>                   <Code Language="csharp"><![CDATA[#region $property$             // This field holds the $property$       private $type$ $field$;         /// <summary>Gets/sets the $property$.</summary>       /// <value>A <see cref="$type$">$type$</see>       /// containing the $property$.</value>       /// <remarks>This property gets/sets the $property$.</remarks>       [System.ComponentModel.Description("Gets/sets the $property$.")]       public $type$ $property$       {             get { return $field$;}             set { $field$ = value;}       }       #endregion       $end$]]>                   </Code>             </Snippet>       </CodeSnippet> </CodeSnippets>

Don't mess with sharepoint...

Carefully said I do not like that sharepoint "hijacks" the Internet Information Server. When you create a virtual directory it is just not accessable because SharePoint took over IIS. Funny fact: This is the second post how to fix issues with IIS and "extension" that cause issues :-) So i decided to hack a small utility serving my needs: (3.46 KB) Enables to exclude applications from sharepoint services through the directory context menu. Install using the "-install" switch; Uninstall using "-uninstall" switch. Because I'm running my machine under a LUA (Limited User Account) i wrote the tool in a way that you can install and uninstall it without administative rights - the contextmenu will be installed per user! if(args[0]=="-install") {     RegistryKey _rkey = Registry.CurrentUser;     _rkey = _rkey.OpenSubKey("SOFTWARE\\Classes",true);     _rkey = _rkey.CreateSubKey("Folder").CreateSubKey("shell");     _rkey = _rkey.CreateSubKey("Exclude from Sharepoint");     _rkey = _rkey.CreateSubKey("command");     _rkey.SetValue(null, App.Application.ExecutablePath + " \"%1\""); } else if(args[0]=="-uninstall") {     RegistryKey _rkey = Registry.CurrentUser;     _rkey = _rkey.OpenSubKey("SOFTWARE\\Classes\\Folder\\shell",true);     _rkey.DeleteSubKeyTree("Exclude from Sharepoint"); } else { ... }   The Implementation works with the webserver extensions version 4.0 or higher       RegistryKey _rkey = Registry.LocalMachine;     _rkey = _rkey.OpenSubKey("SOFTWARE\\Microsoft\\Shared Tools\\" +         "Web Server Extensions",true);         foreach(string _subKeyName in _rkey.GetSubKeyNames())     {         try         {             int.Parse(_subKeyName.Replace(".",""));             RegistryKey _fpKey = _rkey.OpenSubKey(_subKeyName,true);             _fpDir = (string)_fpKey.GetValue("Location");         }         catch(Exception _ex)         {             string _err = _ex.ToString();             break;         }     }   and uses the stsadm.exe from the shared tools of the server extensions.     System.Diagnostics.Process _p = new System.Diagnostics.Process();     _p.StartInfo.FileName = Path.Combine(_fpDir, "BIN\\stsadm.exe");     _p.StartInfo.Arguments = "-o addpath -url http://localhost/" +         _strProjectName + " -type exclusion";     ...     _p.Start();