Tuesday, January 13, 2015

Intellisense for Bower and NPM in Visual Studio 2015


Microsoft has recently launched the Visual Studio 2015 Preview with ASP.NET 5(vNext) and it’s got ton of features. In this blog post we are going to learn about Intellisense feature for Bower and NPM.

What is Bower and NPM:

 

Bower: Bower is a package manager for JavaScript libraries that allow you to define, version and retrieve your dependencies. It works on top of NPM. You can find more about that at following link.

http://bower.io/
https://egghead.io/lessons/bower-introduction-and-setup

NPM: NPM stands for Node Package Manager- It’s a kind of package manager for the installing node.js packages just like NuGet packages.  You can find more information about following location.

https://docs.nodejitsu.com/articles/getting-started/npm/what-is-npm
http://en.wikipedia.org/wiki/Npm_(software)

Share:
Sunday, January 11, 2015

Dependency Injection Series–DotNetJalps

I have written couple of blog post about dependency injection. So I thought it will be a good idea to write a summary blog post where it contains all the post about dependency injection.

Implementing dependency injection pattern in .NET
StructureMap–Getting Started
Dependency Injection with Simple Injector
Dependency Injection with ASP.NET MVC and Simple Injector

Hope you like it. Stay tuned for more.
Share:
Thursday, January 8, 2015

C# 6.0–Dictionary Initializers

This blog post is part of C# 6.0 Features Series.
As we know c# 6.0 provides some cool new features and syntax sugar. Dictionary Initializers is one of them.  Till C# 5.0 we used to have collection initializers for collections but now C# 6.0 provides new way of initializing dictionary . This initialization features is available for there collections which supports index.

Following is a code for new way of initializing dictionary.
using System;
using System.Collections.Generic;

namespace DictionaryInitializer
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<int, string> Person = new Dictionary<int, string>()
            {
                [1] = "Jalpesh Vadgama",
                [2] = "Vishal Vadgama"
            };
            foreach (var person in Person)
            {
                Console.WriteLine("Key:{person.Key}, Value={person.Value} ");
            }
        }
    }
}

Share:
Wednesday, January 7, 2015

Continuous Integration Series–DotNetJalps

I have written couple of point related to Continuous Integration and this post will server as a list of posts related to continuous integration.

Why continuous integration is your friend?
Continuous integration with visualstudio.com and TFS
Continuous Integration with visualstudio.com,Unit Test(Test Driven Development) and TFS

Hope you like it. Stay tuned for lots more about Continuous Integration and Continuous Deployment related post.
Share:

C# 6.0–Expression Bodied Members

This blog post is part of C# 6.0 Features Series.
There are lots of great features added to C# 6.0 and Expression bodied members are one of them. It’s provide great syntax sugar which will help you make your code more beautiful and readable.  In earlier versions of C# type definitions were always been tedious and we need to provide a curly braces and return type even if that function contains one single line. Expression bodied function will help you in such scenarios.

Let’s take a example to understand it. Following is a code to understand it.
using System;

namespace ExpressionBodiedMemebers
{
    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person
            {
                FirstName = "Jalpesh",
                LastName = "Vadgama"
            };
            Console.WriteLine(person.GetFullName());
        }
    }

    public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public string GetFullName()
        {
            return string.Format("{FirstName} {LastName}");
        }
    }
}

Share:
Sunday, January 4, 2015

Understanding KRE,KVM,KLR and KPM in ASP.NET 5(vNext)

ASP.NET 5(vNext) is a new upcoming version of ASP.NET that Microsoft has redesigned from the scratch. Recently Microsoft has released Visual Studio 2015 Preview and with that they have released ASP.NET VNext.  In ASP.NET 5 (vNext) it comes with new runtime environment called KRE(K Runtime Environment) . With this version you can also run your application through command prompt using various commands. In this blog post we are going to learn about all terms related K Runtime Environment.

KVM(K Version Manager):

K version manager is one of the first thing you need to run command . KVM is responsible for installing and updating different version of KRE. It’s a PowerShell script used to get and manage multiple version of KRE being it on same time on same machine. So one application can now have one version of KRE and another application can have another version of KRE on same time. You can find more information at https://github.com/aspnet/Home/wiki/version-manager
Share:

Assembly Neutral Interface in ASP.NET 5(vNext)


Recently Microsoft has open sourced it’s entire ASP.NET next version stack on GitHub and I have been closely watching this for a quite a some time to understand how they have created architecture of it and how they organize everything in such a large stack.

I have seen  [AssemblyNeutral] attribute in few of interfaces and I was curious why it was required. So I dig into it and learned about it.

Why we need Assembly Neutral Interfaces?

In earlier version of ASP.NET and Microsoft.NET Interfaces are bind to a assembly where it is declared. Let’s say I have written a interface under DotNetJalps namespace for my framework.
namespace DotNetJalps
{
    public interface ILogger
    {
        DoAmazingStuff();
    }
}
Now after some time this framework is super popular and everybody loves abstraction I have created and now they wants same abstraction so there are two ways we can do this.

  1. Convenience me to write this abstraction.
  2. Write implementation themself and maintain that.
Share:

Support this blog-Buy me a coffee

Buy me a coffeeBuy me a coffee
Search This Blog
Subscribe to my blog

  

My Mvp Profile
Follow us on facebook
Blog Archive
Total Pageviews