C# ASP.NET SQL SERVER

Defaulting a class to public from Visual Studio

Something that's been niggling at me over the years that I've used Visual Studio is that when a class is created in the IDE it's always created with no public access modifier and so defaults to internal access. E.g.

class Class1
{
}

What I want is the class to be created as such:

public class Class1
{
}

And I know that I'm not alone because when I ask my co-workers they agree. I asked this question on StackOverlow and was pointed in the right direction. On my 64 bit machine I still haven't solved this problem but on my 32-bit XP machine I have.

I first edited the Class.cs file inside the C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip package and added the public modifier to the class.

This didn't work.

I then found this folder: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip and did the same addition on the Class.cs file in this folder and it worked.

I'm not sure if I can blow away this cache version of the ItemTemplates and it would be re-created? I didn't want to try because my development environment is too previous to mess with at this level. I would guess that at some point the cache (if it is a cache) may become invalidated and so the first edit will be necessary and previal in the long term.

» Similar Posts

  1. VS2010 "cannot create the window"
  2. Combine, compress, and update your CSS file in ASP.NET MVC
  3. WCF Tracing with SvcTraceViewer

» Trackbacks & Pingbacks

    No trackbacks yet.
Trackback link for this post:
http://guyellisrocks.com/trackback.ashx?id=151

» Comments

  1. Anonymous avatar

    You were correct in editing C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip. The next step is to open a Visual Studio command shell and execute the following command to updated the ItemTemplatesCache (which you modified directly above):

    devenv /installvstemplates

    Anonymous — August 18, 2009 8:25 PM

» Leave a Comment