A personal repository of technical notes. - CSC

Disable Try Catch Block During Debugging

Problem
Would like to see full errors during debugging process without having to comment out try-catch blocks.

Solution
Note: This was tested in VS2005, VS2013.
Set Visual Studio to always break when an exception is thrown during debug.
  1. Select menu Debug/Exceptions...
  2. Check the box labeled "Thrown" next to "Common Language Runtime Exceptions".
References
"Exception Handling (Debugging)." MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. Web. 31 July 2009. http://msdn.microsoft.com/en-us/library/x85tt0dd(VS.80).aspx.

"How to: Break When an Exception is Thrown." MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. Web. 31 July 2009. http://msdn.microsoft.com/en-us/library/d14azbfh(VS.80).aspx.

Updates
2014-09-18 Confirmed works in VS2013.

Copy Formatted Source Code Into Blog Entry

Problem
Need to be able to display copied source code from editing tools with original formatting in a blog entry.

Solution
Use a combination of Microsoft Word and manual editing to generate the necessary markup.

Note: These steps were tested with blogspot.com and Word 2010.
  • Copy code to clipboard from editor such as Visual Studio, MS SQL Server Management Studio query, etc.
  • Paste into Word.
  • Replace all < with &lt;
  • Replace all > with &gt;
  • Copy code from Word.
  • Paste into blog post in "Compose" mode.
  • Publish.

Note: These steps were tested with blogspot.com and Word 2003.
  • Copy code to clipboard from editor such as Visual Studio, MS SQL Server Management Studio query, etc.
  • Paste into Word.
  • Replace all < with &lt;
  • Replace all > with &gt;
  • Copy code from Word.
  • Paste into blog post in "Compose" mode.
  • Switch to "Edit Html" mode.
  • Copy entire content from blog post.
  • Paste into text editor.
  • Delete all content before the first "<style>" tag.
  • Replace all occurrences of "</p>  <p" with "</p><p".
  • Put tag at beginning: "<pre>".
  • Put tag at end: "</pre>".
  • Copy code from text editor.
  • Paste into blog post in "Edit Html" mode.
  • Publish.

Type Exists in Both DLLs

Problem
Have two versions of a DLL that use the same namespaces and class names.

Project compliation throws the following error:

The type 'MyNamespace.MyClass' exists in both 'MyDLLv1.dll' and 'MyDLLv2.dll'
error CS0433: The type 'MyNamespace.MyClass' exists in both 'MyDLLv1.dll' and 'MyDLLv2.dll'


Solution
Use an external assembly alias.
  1. Specify "Aliases" property of DLL reference.
    1. In Visual Studio Solution Explorer, open References folder.
    2. Right-click DLL reference, select Properties
    3. Enter alias value in "Aliases" property.
    4. Example: Alias to MyDLLv1.dll reference could be "LegacyMyDLL".
  2. Specify alias in C# source code:

// Old way

using MyNamespace;

// New way

extern alias LegacyMyDLL;

using LegacyMyDLL.MyNamespace;

Microsoft References
Note: Could find no Microsoft references for specifying "Aliases" property of DLL reference within Visual Studio. Only for specifying compilation command line parameter.

"/reference (Import Metadata) (C#)." MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. 22 July 2009 http://msdn.microsoft.com/en-us/library/yabyz3h4(VS.80).aspx.

"Extern alias (C#)." MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. 22 July 2009 http://msdn.microsoft.com/en-us/library/ms173212(VS.80).aspx.

"How to: Use the Namespace Alias Qualifier (C#)." MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. 22 July 2009 http://msdn.microsoft.com/en-us/library/c3ay4x3d(VS.80).aspx.

Other References
"What use is the Aliases property of assembly references in Visual Studio 8. -." Stack Overflow. 22 July 2009 http://stackoverflow.com/questions/286632/what-use-is-the-aliases-property-of-assembly-references-in-visual-studio-8.

"Enhancements in Assemblies and Versioning in Visual Studio 2005." C#, Visual Studio 2008, Silverlight, ASP.NET, WPF, WCF, WF, and Windows Vista Community. 22 July 2009 http://www.c-sharpcorner.com/UploadFile/rambab/Assembly04292006002740AM/Assembly.aspx?ArticleID=69edb807-8118-4933-8366-773e87ee80ad.

Windows Command Line Tips

Command to determine location of program in command prompt
Description from where /?
Displays the location of files that match the search pattern.
By default, the search is done along the current directory and
in the paths specified by the PATH environment variable.

Example:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
> where ildasm
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\ildasm.exe


Copy command output to clipboard
dir | clip

Delete all folders within a folder (Windows XP)
FOR /D %f IN ("C:\MyFolderWithOtherFolders\*.*") DO RMDIR /S /Q "%f"

Delete all folders within a folder (Windows 7, Windows Server 2008, Windows Vista)
forfiles /s /p "C:\MyTestFolder" /c "cmd /c if @ISDIR==TRUE RMDIR /S /Q @PATH"

Forfiles
This is a utility for selecting files and executing a command on them. Applies To: Windows 7, Windows Server 2008, Windows Vista.

Examples:

Display all subfolders
forfiles /s /p "C:\MyTestFolder" /c "cmd /c if @ISDIR==TRUE echo @PATH @ISDIR"

Delete all files older than 30 days:
forfiles /p "C:\MyFolderWithFiles\" /s /m *.* /d -30 /c "cmd /c del @path"

See "Forfiles." Resources and Tools for IT Professionals | TechNet. N.p., n.d. Web. 8 Oct. 2012. <http://technet.microsoft.com/en-us/library/cc753551(v=ws.10).aspx>.

Open IIS Manager at a command prompt
  1. On the Start menu, click Run.
  2. In the Open dialog box, type inetmgr, and then click OK.
See
"How To: Open IIS Manager." MSDN | Microsoft Development, Subscriptions, Resources, and More. Web. 14 July 2010. <http://msdn.microsoft.com/en-us/library/bb763170.aspx>.

Commands to Display/Remove Read-Only Attributes
REM Displays files with read-only attributes set in specified directory and all subdirectories.
dir /ar /s

REM Clears the read-only file attribute from matching files in the current folder and all subfolders.
attrib -r /s


Command Line to Lock Computer (Windows 7, XP)
rundll32.exe user32.dll, LockWorkStation

Updates
2015-02-13 Added "Command to determine location of program in command prompt"
2013-08-02 Added "Copy command output to clipboard"
2012-10-08 Added "Forfiles"
2011-08-25 Added "Delete all folders within a folder"
2011-03-04 Added "Command Line to Lock Computer"

Google Analytics Site Overlay All Zeros

Problem
The Site Overlay report in Google Analytics began showing all links at 0%.

Solution
This particular problem began after adding a "Default page" setting to the website profile. After removing the setting, Site Overlay began working again.

Steps to remove setting:
  1. Click "Analytics Settings"
  2. Under "Website Profiles" click "Edit" under "Actions" column of profile to change
  3. Click "Edit" next to "Main Website Profile Information"
  4. Delete entry for "Default page"
  5. Click "Save Changes" button