Are you going to interview at tech companies? Make sure you read Andrew’s tips on how to solve coding questions. His approach is really valuable.
Almost all developers have that annonying moment where you have to create dummy data locally in order to test your application. This article uses `DbTool` utility and `Korzh.DbUtils` library for seeding the database.
Am I the only always putting a break point in `catch` line _after_ I have encountered the exception? I’m sure I’m not. Well, there’s a setting option in Visual Studio to break on every exception, so you can avoid this very issue.
It’s not just enought to be a good programmer, it’s also help to become a highly effective programmer. Avoid meeting is one of the habits.
Pretty easy read on how to apply hardware-engineer approach to become better software developer in software-engineer.
Here is steps to create shared assembly file in multiple VS projects:
1. Add new shared assembly file.
2. For each project that will use the shared assembly, right click on the `Properties` under the project and add existing item.
3. Select the shared assembly file, but add it as a link
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.
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’.
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’.
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.
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.
ALT + F12
Show Peek Definition.
Exit from Peek window.
SHIFT + ESC
Switch between Peek and current file windows.
When creating a single Visual Studio template (or multiple), the following parameters are available:
||Current version of the common language runtime (CLR).
||A GUID used to replace the project GUID in a project file. You can specify up to 10 unique GUIDs (for example, guid1).
||The name provided by the user in the Add New Item dialog box.
||The current computer name (for example, Computer01).
||The name provided by the user in the New Project dialog box.
||The registry key value from HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.
||The root namespace of the current project. This parameter is used to replace the namespace only in an item being added to a project.
||The name provided by the user in the Add New Item dialog box, with all unsafe characters and spaces removed.
||The name provided by the user in the New Project dialog box, with all unsafe characters and spaces removed.
||The current time in the format DD/MM/YYYY 00:00:00.
||The current user domain.
||The current user name.
||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.
||The current year in the format YYYY.
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>
Place the file in a folder containing all project template folders. In this case, “Acme.Web” and “Acme.Common” templates.
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:
repository attribute in
All the .nupkg files must be placed in the root directory of project template zip file.