Tag Archives: visual studio

Shared Assembly in Visual Studio Projects

Here is steps to create shared assembly file in multiple VS projects:
1. Add new shared assembly file.
2019-06-10 16_38_40-LinqJoin - Microsoft Visual Studio (Administrator)

2. For each project that will use the shared assembly, right click on the `Properties` under the project and add existing item.
2019-06-10 16_43_15-

3. Select the shared assembly file, but add it as a link
2019-06-10 16_39_38-LinqJoin - Microsoft Visual Studio (Administrator)
2019-06-10 16_40_12-LinqJoin - Microsoft Visual Studio (Administrator)

4. Remove attribute in the project assembly that you want to inherit from the shared. For example, if you want to share `AssemblyVersion` across projects, remove them from projects’ assembly and add it shared assembly file.


using System.Reflection;

[assembly: AssemblyVersion("")]
[assembly: AssemblyFileVersion("")]
Leave a comment

Posted by on June 13, 2019 in General


Tags: , , , , , ,

“The CodeDom provider type Microsoft.VisualC.CppCodeProvider could not be found” exception

This problem happened when you build project/solution in Visual Studio. Generally caused when you have compile-able files in your Visual Studio solutions but VS could not understand it.
In my case, I have infamous ‘node_modules’ folder.

To solve this issue, in Windows Explorer, I right click on it ‘node_modules’ folder and select ‘Properties’, check ‘Hidden’ under Attributes.

You can also exclude the folder. In Visual Studio Solution Explorer, right click on ‘node_modules’ and select ‘Exclude From Project’.

More reading.

Leave a comment

Posted by on September 12, 2018 in General


Tags: , , , , , , ,

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.



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.

Exit from Peek window.

Switch between Peek and current file windows.

Leave a comment

Posted by on December 15, 2014 in General



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"
        <Name>Acme Web Project</Name>
        <Description>A project template to create Acme Web.</Description>
            <ProjectTemplateLink ProjectName="Acme.Web">
            <ProjectTemplateLink ProjectName="Acme.Common">

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: ,

%d bloggers like this: