Connecting On-Premise/private NuGet packages or feed URL in source code from VSTS for build and deploy

Step 1: Hosting your own private NuGet feeds

NuGet.Server is a package provided by the .NET Foundation that creates an ASP.NET application that can host a package feed on any server that runs IIS. Simply said, NuGet.Server basically makes a folder on the server available through HTTP(S) (specifically OData). As such it’s best for simple scenarios and is easy to set up.

The process is as follows:

  1. Create an empty ASP.NET Web application in Visual Studio and add the NuGet.Server package to it.
  2. Configure the Packages folder in the application and add packages.
  3. Deploy the application to a suitable server.

Create and deploy an ASP.NET Web application with NuGet.Server

  1. In Visual Studio, select File > New > Project, set the target framework for .NET Framework 4.6 (see below), search for “ASP.NET”, and select the ASP.NET Web Application (.NET Framework) template for C#.
  2. Enter the application name, click OK, and in the next dialog, select ASP.NET 4.6 – Empty template and click OK.
  3. Right-click on the project, select Manage NuGet Packages, and in the Package Manager, search and install the latest version of the NuGet.Server package if you’re targeting .NET Framework 4.6.
  4. Installing NuGet.Server converts the empty Web application into a package source. It creates a Packages folder in the application and overwrites web.config to include additional settings.
  5. To make packages available in the feed when you publish the application to a server, add their .nupkg files to the Packages folder in Visual Studio, then set their Build Action to Content and Copy to Output Directory to Copy always:
  6. Run the site locally in Visual Studio.
  7. Click on here in the area outlined above to see the OData feed of packages.
  8. By running the application the first time, the Packages folder gets restructured into a folder for each package. This matches the local storage layout introduced with NuGet 3.3 to improve performance. When adding more packages, continue to follow this structure.
  9. Once you’ve tested your local deployment, you can deploy the application to any other internal or external site as needed.
  10. Once deployed to http://<domain&gt;, the URL that you use for the package source will be http://<domain>/nuget.

Step 2: Publish your NuGet Server

  1. For demo purpose, I am deploying in to my local IIS server. Open IIS and create an empty site in it.
  2. Under Bindings, select IP address of your PC, then click on Ok.
  3. Now, Right click on your project and select Publish option. On publish window select IIS, FTP option as shown below (VS2017).
  4. Enter Server name (nothing but your PC name), Enter Site name that you created in IIS, click on validate, Next and save. It starts publishing now.
  5. Once it’s published successfully; you can browse the site with your IP address.
  6. In browser, you will see something similar as shown below.

Step 3: Enable Basic Authentication to your feed

  1. To enable your feed private with authentication, you can do that by enabling Basic Authentication in IIS.
  2. Go to IIS, select Authentication under IIS category.
  3. Enable Basic Authentication.
  4. Now, add a local user. Go to start menu and search for Computer Management, open it.
  5. Expand Local Users and Groups, right click on Users and select New User.
  6. Enter user name and password, select password never expire and then click on create.
  7. Now navigate to InetPub->wwwroot and right click on DemoNuGetFeed folder where we published your NuGet server and select properties.
  8. Under properties, go to Security, select DemoFeedUser from user list and then click on Edit. Give read/write permissions and then click on Apply and Ok.
  9. Now try to browse your server, it should prompt you for user name and password as shown below.
  10. This step is only for users connected to a router, if you are connected to a router then you need to enable port forwarding to your machine so that all the requests coming to port 80 will automatically redirect to your PC.
    To do this, login to your router and go to port forwarding settings and add Port no 80 and select your machine IP address. The settings will look like below.
    Service Port and Internal Port are 80 because in my machine IIS I configured my NuGet server port number with 80. IP address is the machine where your NuGet server running/published.
  11. Now if you browse the url with your IP address it should automatically navigate to your NuGet server as shown below. Now you can access your NuGet feed from anywhere in the world using http://<IPAddress>/nuget.

Step 4: Configure your private feed in VSTS build

  1. Open your Solution/Project where you want to use your private feed in Visual Studio.
  2. Add nuget.config file in to the project. It should have the following structure.
  3. Add your feed URL under PackageSources tag as shown below.
  4. Check-In and Push the code to VSTS.
  5. Login to VSTS, Navigate to your team project.
  6. Go to Builds, and create a new build definition with build template which suits to your project.
  7. Now add a task, select NuGet task and click on add.
  8. Select nuget restore step which you added in above step, in right side configuration area expand Feeds & Authentication section. In that enter/select path to nuget.config file as shown in below screenshot.
  9. Now add credentials for each feed by clicking on plus icon.
  10. On Add new Nuget connection window, select Authentication type here for example we selected Basic Authentication.
  11. Save the Build definition and queue a new build.





Successfully published my book on Developing Enterprise Bot Applications

I am happy to announce that my book on Developing Enterprise Bot applications has been successfully published. Book is available in stores and online at .


Amazon: Book Cover

Screen shot of Amazon link:Amazon

Bot for Slack & Skype – Find Nearby Places

Add to Slack

Clicking on Add to Slack means, you are agreeing to the Nearby Bot Privacy Policy.
Add to Skype

Click this button to add Nearby Bot to your Skype account. Clicking on Add to Skype means, you are agreeing to the Nearby Bot Terms of Service & Privacy Policy.

Our NearbyBot is enabled by Microsoft’s Bot Framework. Bot Framework is a set of web-services that enable intelligent services and connections using conversation channels you authorize. As a service provider, Microsoft will create a Bot Framework user profile and receive content you provide to our bot/service in order to enable the service and to help improve Microsoft services. For more information about Microsoft privacy policies please see their privacy statement here: To report abuse when using a bot that uses Bot Framework to Microsoft, please visit the Microsoft Bot Framework website at and use the “Report Abuse” link in the menu to contact Microsoft.

Installing and Usage of Nearby Bot:

When you click on Add to Slack/Skype button, it will prompt you to enter team domain name or sign-in. Once you successfully add the Nearby bot to your account, go to Nearby Bot user and just say “Restaurants in Boston” that’s it, you will see all list of restaurants in Boston. Similarly you can ask anything you want to find out in your city.

Privacy Policy:

Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how we collect, use, communicate and disclose and make use of personal information. The following outlines our

Internet Connection

  • Nearby Bot uses internet connection for loading and displaying the nearby restaurants or book stores etc.

Collecting Your Information

  • The app doesn’t collects any information from the user except the search keyword and city information for getting data and we don’t store any information related to user.

Changes to this Privacy Policy

  • Nearby Bot may change or modify this Privacy Policy in the future. We recommend you to check this Privacy Policy from time to time to review the most current Privacy Policy.

We will make readily available to customer’s information about our policies and practices relating to the management of personal information.

Contact Us:

If you have questions about this Privacy Policy, please contact us at:

 Powered by the Microsoft Bot Framework:

Bot – Natural Speech & Intent Processing bot

Add to Slack

Clicking on Add to Slack means, you are agreeing to the Natural Speech & Intent Processing Bot Terms of Service & Privacy Policy.

Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how we collect, use, communicate and disclose and make use of personal information. The following outlines our

  • The application uses internet connection to show results.
  •  This  application won’t collect any personal information.
  • We will make readily available to customers information about our policies and practices relating to the management of personal information.
  • If the app is deleted, all the information is deleted automatically.

We will make readily available to customer’s information about our policies and practices relating to the management of personal information.

Contact Us:

If you have questions about this Privacy Policy, please contact us at:

Application Insights User Guide

First step is Log-in to

In the left pane Click on Browse option, then select Application Insights then Application Insights sources will display and choose your Application Insights source


This is how your Application Insights Dashboard will look like


The Dashboard includes the following Items

1. Essentials

2. Application Overview

3. Metrics Explorer

4. Sessions

5. Crashes

6. Custom Events( If you create any)

7. Top Sessions by Country

8. Top Devices

9. Session Duration

10. Top Crashes

11. Diagnostic Search

12. Alert Rules( If you create any)

13. Events


It contains the information about the Application Insights resource which includes Resource group, Application Type, Location, Subscription name, Instrumentation Key (Which is the Key for Telemetry data) and Subscription id.


Application Overview

It contains the Graphical Representation of USERS, SESSIONS, PAGE VIEWS, and CRASHES data



Click on Users to view USERS data


It displays the Total no of Users and New Users and it also displays the users by Geographic location which is unique count of users by country or region.

If you click on USERS chart, you can customize the chart as per your needs. You can show it like Line, Area, Bar and Grid. You can add Chart Height, Add Grouping and do many more.


If you want to look at what are all the activities performed by United States region app users, then click on United States, it will display all the actions performed by the users which contains number of PAGE VIEW, CUSTOM EVENT, EXCEPTION, REQUEST AND DEPENDENCY.


If you click on any activity it gives more information regarding the user and much more information. Below picture includes all the information.


If you want to know more information just click on ‘…’ button it will give you more information.



You can add filters in the Chart to get the specific results as per your required criteria.


You can specify a Time range to see the results data in a particular time period.


Add Save Favorite

You can add favorites to your dashboard so that you can quickly view the favorite items.


You can view the favorite’s items in your dashboard.


Page Views

This segment contains the total number of page views of your app. If you want to see more about Page Views just click on PAGE VIEWS in the Application Overview.


In PAGE VIEWS section it also contains the information about all the pages in the app and the number of page views, number of users and the number of sessions for each page.


If you click on any Page name it will gives you more information about the specific page you selected.


If you click on any particular page view it will give you more information about the page from where it has been accessed and the client IP address.


If you click on ‘…’ then you will get more information


Here also you can Add chart, Time range, Filters, Alert Rules, Save favorites.



A session is nothing but the amount of time used an app by the user.

It contains all the session information about the app that has been using by the users. Session includes the time


Custom Events

Custom events are created by developer. By inserting code to send custom events from your app, you can track your users’ behavior and the usage of specific features and scenarios.


If you select any Custom event it will give you more information about the specific Custom event metrics.


If you click on any custom event it will navigates to Custom Event properties windows and if you click on All telemetry for this user session under Related Items it will give you more results.



There is 1 Exception in the results, if you click on the it will give you the exception properties which contains more info about the exception which includes the information in the given picture.


Top Sessions by Count.

It will give the overall view of your app users in the different country across the world.


Top Devices

It will give you the top devices of customers which are using your app.


If you click on any device it gives more information about the operations performed by the device, which includes the number of users, number of sessions, session duration and the crashes count if there are any. It will locate the country or region of the device.


Diagnostic Search

It includes all the information of application at one place.


Alert Rules

Using Alert Rule you can track whenever there is any huge traffic or if any exception occurs in the app. There are certain types of metrics that you can create alerts for them. If there is smoothing happens as specified in the metrics for that alert it will notify to the email id which was given during the creation of alert.


%d bloggers like this: