RSS

Tag Archives: visual studio

Resource Files In ASP.Net MVC

Scott Allen has a great post explaining how resource files work in ASP.Net MVC project using Visual Studio. Technically speaking, this also applies to ASP.Net Web Form.

Basically, there are these problems:

  • Placing resource files in App_GlobalResources folder will break unit tests.
  • Intellisense has trouble recognizing syntax in the Views.
  • App_LocalResources seems to have similar behavior.

The solution is ostensibly simple. Just put resource files in a separate folder, name it anything you want. This will:

  • Embed the resource files in library when the project is compiled.
  • The generated class is internal by default. This is can be changed if you need to share the class publicly.

To change generated class to public, change ‘Custom Tool’ property of the resource file to ‘PublicResXFileCodeGenerator’ instead of ‘ResXCodeFileGenerator’.

 
Leave a comment

Posted by on June 2, 2015 in General

 

Tags: , , , ,

Visual Studio 2012: Debugging Unit Tests Doesn’t Work

There’s a problem in Visual Studio 2012 where debugging unit tests doesn’t work. This often happens when you enable code coverage.

The solution is fairly simple, un-check any selected test setting file under Test > Test Settings.

This behavior is expected, at least according to Microsoft, they just don’t support debugging for code coverage.

 
Leave a comment

Posted by on May 1, 2015 in General

 

Tags: , ,

Peek Your Definition in Visual Studio 2013

My friend, Scott G, told me about this. There is a new feature in Visual Studio 2013 called Peek Definition. Peek Definition allows you to see your class definition in the same file window. It even lets you edit and save the file!

You can access Peek Definition by right click on class that you want to peek and click Peek Definition. Or simply use shortcut key ALT + F12.

peek-your-definition-in-visual-studio-2013-1

peek-your-definition-in-visual-studio-2013-2

To exit from the Peek Definition, press ESC on your keyboard. You can also switch between the class definition window and your current file window by pressing SHIFT + ESC on your keyboard.

I found this very convenient feature when writing unit testing code, I can easily and quickly switch between two files.

Shortcut summary:

ALT + F12
Show Peek Definition.

ESC
Exit from Peek window.

SHIFT + ESC
Switch between Peek and current file windows.

 
Leave a comment

Posted by on December 15, 2014 in General

 

Tags:

Visual Studio Template Parameters

When creating a single Visual Studio template (or multiple), the following parameters are available:

Parameter Description
clrversion Current version of the common language runtime (CLR).
GUID [1-10] A GUID used to replace the project GUID in a project file. You can specify up to 10 unique GUIDs (for example, guid1).
itemname The name provided by the user in the Add New Item dialog box.
machinename The current computer name (for example, Computer01).
projectname The name provided by the user in the New Project dialog box.
registeredorganization The registry key value from HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.
rootnamespace The root namespace of the current project. This parameter is used to replace the namespace only in an item being added to a project.
safeitemname The name provided by the user in the Add New Item dialog box, with all unsafe characters and spaces removed.
safeprojectname The name provided by the user in the New Project dialog box, with all unsafe characters and spaces removed.
time The current time in the format DD/MM/YYYY 00:00:00.
userdomain The current user domain.
username The current user name.
webnamespace The name of the current Web site. This parameter is used in the Web form template to guarantee unique class names. If the Web site is at the root directory of the Web server, this template parameter resolves to the root directory of the Web Server.
year The current year in the format YYYY.

Source: MSDN

 
Leave a comment

Posted by on July 3, 2012 in References

 

Tags: ,

Visual Studio Multiple Projects Template

To create a Visual Studio project template that include multiple projects, create a new .vstemplate file:

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>Acme Web Project</Name>
        <Description>A project template to create Acme Web.</Description>
        <Icon>Icon.ico</Icon>
        <ProjectType>VisualBasic</ProjectType>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
            <ProjectTemplateLink ProjectName="Acme.Web">
                Acme.Web\MyTemplate.vstemplate
            </ProjectTemplateLink>
            <ProjectTemplateLink ProjectName="Acme.Common">
                Acme.Common\MyTemplate.vstemplate
            </ProjectTemplateLink>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

Place the file in a folder containing all project template folders. In this case, “Acme.Web” and “Acme.Common” templates.

Source: MSDN

 
1 Comment

Posted by on July 3, 2012 in General

 

Tags: ,

NuGet Packages in Visual Studio Project Template as New Project

When include NuGet packages in Visual Studio project template, a modification will need to be done if the template will be used as new project.

Modify .vstemplate file:

<VSTemplate>
        <packages repository="template">
            ...
        </packages>
    </WizardData>
</VSTemplate>

Notice repository attribute in <packages> node.

All the .nupkg files must be placed in the root directory of project template zip file.

 
3 Comments

Posted by on July 3, 2012 in General

 

Tags: , ,

Include NuGet Packages in Visual Studio Project Template

In a single Visual Studio project template, you can include NuGet packages so that when project is added, the NuGet packages are pre-installed.

A small modification is necessary if you are going to use this to create new project.

Edit .vstemplate file to include:

<VSTemplate>
    <WizardExtension>
        <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
        <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
    </WizardExtension>
    <WizardData>
        <packages>
            <package id="jQuery" version="1.6.2" />
        </packages>
    </WizardData>
</VSTemplate>

Where <packages> will include all packages pre-installed to the Visual Studio template.

Source: NuGet Docs

 
1 Comment

Posted by on July 3, 2012 in General

 

Tags: , ,

 
%d bloggers like this: