Monday, June 27, 2016

Publishing existing applications to Github with Visual Studio 2015

Before some time, I have published a blog post for using Github with Visual studio team explorer.  So with reference to this blog post, one of the users email me that how we can publish the existing applications to Github? So I thought it would be a great idea to write a blog post about it. So in this blog post, We are going to learn how we can publish existing application to Github with visual studio 2015. Visual Studio 2015 comes with Team explorer and when you install the visual studio 2015 there is an option to install the Github extension for visual studio. If you have not installed it then you can also insert separately from the following link.

https://visualstudio.github.com/

How to publish existing applications to Github with Visual Studio 2015:

To demonstrate this we are going to use console application, So I have created a core console application with File-> New project.

Sample-Conole-Application

Once created application, I have added it to the source via right clicking solution explorer and Click on Add Solution to Source control.

add-to-source-control-github-sample-application

It will add the solution to default source control, In my visual studio git is configured as default source control. But if it not there it will ask between Git or Team server. Once you click on add solution to source control it will create a local git repository. Now It’s time to write some code. Here is a sample code that I have written.
using System;

namespace GithubConsoleApp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.Write("Github sample application");
            Console.ReadLine();
        }
    }
}
Now it's time to commit code to Local Git repository with team explorer like following.

commit-changes-in-git

Now once you click sync it will try to sync with the remote repository of GIT since we don’t have the remote repository.

different-service-for-hosting-github-service

Here, there are three options available, Github, Team Services or custom remote repository. Since we are going to use Github so click on GetStarted for GitHub option. It will load following screen.

github-publishing-sample-application

Here in above screenshot, My Github account is already configured otherwise it will ask for your Github Credentials.  Now click on publish it will create a new repository in Github and publish the whole history to GitHub also.

published-app-sample-application

You can see the same thing on Github.com also.

published-application-on-github

That’s it. It’s very easy to use Github tools with Visual Studio 2015. Hope you like it. Stay tuned for more!!.
You can find sample Github repository used in this application at - https://github.com/dotnetjalps/GithubConsoleApp
Share:
Tuesday, June 21, 2016

Peek Definition every where in Visual Studio 2015

Visual studio 2015 is great IDE and I love more and more whenever I explore some new features of Visual Studio 2015. In this blog post, We are going to learn about Peek Definition which was available from Visual Studio 2015.It is a great feature with this you can view code without moving to file where this code has been written. Till now this was available only for the C# code but with Visual studio 2015 it is now available with anywhere so now you can have that  available in XAML, CSHTML  and ASPX file too.

Let’s see how it's working on both sides.

Peek definition on C# Code:

You can see the particular code for a class via selecting it and right click and select pick definition or you can use shortcut Alt+F12.

peek-definition-csharp-code-visual-studio-2015

Now once you click on Peek Definition. It will peek definition window like below.

peek-defintion-window-chsarp-code-visual-studio-2015

Peek Definition on CSHTML file:

You can also have peek definition now in CSHTML page also just like below.

peek-definition-cshtml-visual-studio-2015

Hope you like it. Stay tuned for more!.
Share:
Monday, June 20, 2016

Simplified Rename feature in Visual Studio 2015

Visual studio 2015 is a great IDE and I love all the latest features provided in this edition. I have always been a fan of refactoring features and with Visual Studio 2015 they are now more streamlined. In this blog post , we are going to learn about rename refactoring features. So Let’s get started.

We can use this renaming feature when we have found there is a spelling mistake in variable declaration and we want to rename that with correct spelling. This is the just scenario I have explained but there could be much more. So Let’s see how it works.

rename-feature-explanation

In above code, you can see that we have made some spelling mistake with employees variable and we want to correct it. So you select that variable and right click and select rename or you can press shortcut Ctrl+ R,Ctrl +R.

rename-features-streamline

Once you click on rename it will open the following dialog.

rename-feature-dialog-visual-studio-2015

This dialog contains three options.

  1. Include comments – which will replace this word in comments also.
  2. Include strings – Which will replace this word in the string which we have defined in double quotes.
  3. Preview changes – It will show a preview of changes we are going to make.
Now you can see the highlighted part in above where I’m going to change from employie to employees.

rename-feature-demo-visual-studio-2015

Now once you click on apply it will open a preview dialog like following.

employee-preview-dialog

Once you will click on apply it will apply the changes.

applied-changes-rename-features

That’s it. It’s very easy Hope you like it. Stay tuned for more!!.
Share:
Sunday, June 19, 2016

Execute in interactive with visual studio 2015 update 2

There are lots many times we need to play with C# Code and at that time, C# interactive  window might come handy.  Those who don’t know what is C# interactive windows, This is a REPL that allows you to execute the C# code in the separate window. You can enable that window via Views-> Other Windows –> C# Interactive.

csharp-interactive-windows-visual-studio2015

Once you click on it will open a window where you can write code and execute it. It will act as the play ground for your C# code.

csharp-playground-interactive-window-visual-studio15

Execute in Interactive with Visual Studio 2015 Update 2:

Earlier, When you need to use existing code with interactive window, you need manually copy and paste the code. Now with Visual Studio 2015 update 2, you have one menu available “Execute in Interactive”. You can right click your existing code and click on “Execute in Interactive”. It will load your code in C# interactive window.

execute-in-intreactive-menu-visual-studio-2015

Once you click it this code will be available to C# interactive window. Even you have a short cut for this also. Ctrl + E, Ctrl + E.

So it’s very useful. Hope you like it. Stay tuned for more!.
Share:
Saturday, June 18, 2016

How to use migration with Entity Framework Core

Entity framework core is  the lightweight, extensible and cross-platform version of Entity Framework. Before some time, Microsoft has Released a new version of Entity Framework RC2. I have written a couple of blog post about Entity framework code first migration earlier for Entity framework 6.0. So there was a couple of request coming for writing a blog post about Entity Framework Core RC2 migration. So I thought it will be a good idea to give an overview how database migration works in Entity Framework Core RC2. This post will cover a basic scenario where we are going to create the database with existing ASP.NET Identity migration and then we are going to create a new model and have that migration applied in the database.

How to use Entity Framework Migrations:

Let’s get started, To demonstrate entity framework core migrations, I am going to create a sample asp.net core web application like following.

creating-project-core-migration

Once we select asp.net core application it will appear the following dialog.

web-application-aspnet-core

Now when you create a sample application. It will basically create a boilerplate code for the asp.net identity and as a part of that it is going to create entity framework migration files under Data –> Migrations folder.

default-migration-entity-framework-core

Here you can find that sample code in GitHub repository given at the bottom.  Now we already asp.net identity migration code ready. So Let’s have those migrations applied with the following command from NuGet package manager console.

update-database
core-migration-aspnet-identity

Now let’s add a new model “Employee” like following.
namespace CoreMigration.Models
{
    public class Employee
    {
        public int EmployeeId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}
As we have employee class, We need to add migration for that. I’m going to create a migration for employee class via the following command.

add-migration AddEmployee
add-employee-migration

It will create “AddEmployee” migration class in Data->Migrations folder.

employee-migration-in-solution-explorer

And here is the code for the migration for the same.
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Metadata;

namespace CoreMigration.Data.Migrations
{
    public partial class AddEmployee : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "Employees",
                columns: table => new
                {
                    EmployeeId = table.Column<int>(nullable: false)
                        .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
                    FirstName = table.Column<string>(nullable: true),
                    LastName = table.Column<string>(nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Employees", x => x.EmployeeId);
                });
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "Employees");
        }
    }
}

Now we have our migration class ready so I am going to run the update-database command as following.

update-database-employee-migration-entity-framework-core

Now let’s check the database again and You can see employee table is there.

database-after-employee-migration

That’s it. It’s very easy. Hope you like it. Stay tuned for more!!.

You can find complete source code of this application at following location on Github - https://github.com/dotnetjalps/EntityFrameworkCoreMigration
Share:
Tuesday, June 14, 2016

How to create Rest API(Web API) with ASP.NET Core 1.0

Recently Microsoft has released ASP.NET Core 1.0 RC2, I am getting lots of request from readers that about creating Web API. So I thought it will be a good idea to write a blog post about how to create Rest API(Web API) with ASP.NET Core 1.0.

So let’s get started via creating an ASP.NET Core 1.0 Web Application like following.

creating-aspnet-core-project

Once you click on ASP.NET Web Application, It will ask whether you need to create Web Application or Web API application. We are going to Web API so I am going to select Web API Application like following. Please note that in ASP.NET Core 1.0 there is no separate libraries or DLLs required for creating web APIs. This is just a project template.

creating-aspnet-core-api-project

Now once you click on OK It will create a Web API application with default values controller and program.cs.  As you know Program.cs is now starting point for the ASP.NET Core 1.0 application so It contains all the required configuration and startup items. Following is a code for that.
using System.IO;
using Microsoft.AspNetCore.Hosting;

namespace CoreWebApi
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }
}

Here you can see that there is a WebHostBuilder class which hosts the application and there is some configuration for using this application on IIS and Kestrel which is  a cross-platform server from Microsoft.

Now let’s create our model class first. I have created an Employee model class like following.
namespace CoreWebApi.Model
{
    public class Employee
    {
        public int EmployeeId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Designation { get; set; }
    }
}
Since now our model is ready, It’s time to create the controller. You can create web API controller via add new item like following.

creating-aspnet-core-api-controller-class

And here the code for our get Method.
using System.Collections.Generic;
using CoreWebApi.Model;
using Microsoft.AspNetCore.Mvc;

namespace CoreWebApi.Controllers
{
    [Route("api/[controller]")]
    public class EmployeeController : Controller
    {
        // GET: api/values
        [HttpGet]
        public IEnumerable<Employee> Get()
        {
           var employees = new List<Employee>
           {
               new Employee {EmployeeId = 1,FirstName = "Jalpesh",LastName = "Vadgama",Designation = "Technical Architect"},
               new Employee {EmployeeId = 2,FirstName = "Vishal",LastName = "Vadgama",Designation = "Technical Lead"}
           };
            return employees;
        }
    }
}

Here you can see that I have created a get method that returns a List of Employee. Now Let’s run this in our browser and it will work like following.

aspnet-core-api-browser-sample
You can find complete source code of this blog post at following location on Github-https://github.com/dotnetjalps/ASPNetCoreWebAPI
That’s it. Hope you like it. Stay tuned for more!
Share:
Monday, June 13, 2016

Solution: gulp is not recognized as internal or external command- Visual Studio

Recently, After Upgrading to the newer version of Gulp, I was getting this error.  After doing lots of  finding online and in my system I was able to figure out that Modules like Gulp does not installed to the path. So when you try to run it from the command line it was showing below error.
gulp is not recognized as internal or external command

How to solve : gulp is not recognized as internal or external command

To solve this error we just need to create a new environment variable and set the NPM modules path there.

To create an environment variable,  Right click My Computer/ This Pc and click on properties.  It will open following windows.

environment-variable-node-modules

Go to Advance System Settings and it will open system properties windows like below.

system-properties-environment-variable

Click on Environment Variables it will open an environment and system variables windows like below.

environement-variables-node-modules-gulp

Click on new System variable and put NODE_PATH in system variable name and %AppData%\npm\node_modules into the variable value like below.

new-variable-for-gulp-not-found

Click on Ok. That’s it. Now run again the command for gulp and it will work. It’s very easy. Stay tuned for more!!.
Share:
Search This Blog
About Me
My Photo

Full Stack Developer,Blogger,Microsoft Mvp, Mentor, Life long learner, 10+ Years of Experience for JavaScript, web and Microsoft technologies. ASP.NET MVC,Web Forms,C#,AngularJs,Golang
Mvp profile
Subscribe to my blog

Enter your email address:

Follow us on facebook
Blog Archive
Total Pageviews