General

Microsoft Build Tour – Hyderabad, 21,22 June 2017

May 30, 2017 .NET, Community, Dev Community, General, Microsoft, TechNet, Windows Azure Development 2 comments

The Microsoft Build Tour brings the best of Microsoft Build right to you. Developers building Line of Business or consumer applications using Cloud or traditional desktop technologies will hear firsthand from Microsoft experts about the latest technical news and updates from the Microsoft Build conference.

Date & Timings:
· DAY1 – Wednesday, June 21, 2017 9:00 AM – 5:30 PM
· DAY2 – Thursday, June 22, 2017 9:00 AM – 5:30 PM (Developer Hackathon)

Venue:
Trident Hyderabad
Survey No.64,
Hitech City Main Road,
HITECH City,
Near Cyber Towers,
Madhapur, Hyderabad,
Telangana 500081

AGENDA DAY 1
08:30 – 09:00 Registration
09:00 – 09:50 Opening keynote shares the future of Microsoft’s Cloud, AI, and Windows technologies.
10:00 – 12:30 Morning sessions dive deep into the latest Cloud tech including serverless, containers, AI, bots, Web, .NET, and cross-platform development.
12:30 – 14:00 Lunch Break
14:00 – 14:25 Technical discussion from your local Microsoft Experts. More details to come!
14:30 – 16:00 Afternoon sessions bring in-depth discussions and demos of Windows 10 features, UWP, Windows Store, and the latest devices.
16:00 – 17:30 Q&A Session with Microsoft Experts and Developers
AGENDA DAY 2
08:30 – 09:00 Registration / Team Assignments / Breakfast
09:00 – 09:30 Introduction
09:30 – 16:00 Hacking
16:00 – 17:00 Presentations & Closing

REGISTRATION LINKS: DAY1 SESSIONS | DAY2 DEVELOPER HACKATHON

Azure SDK for .NET 3.0 available for Visual Studio 2015/2017

April 2, 2017 .NET, .NET Framework, Add-In's, App Service, Azure, Azure SDK, Azure SDK Tools, Cloud Services, General, Microsoft, Microsoft SDKs, Visual Studio 2013, Visual Studio 2015, Visual Studio 2017, VS2013, VS2015, VS2017, Windows 10, Windows 7, Windows 8.1, Windows Azure, Windows Azure Development, Windowz Azure No comments

Windows Azure SDK for .NET, which include SDKs, basic tools, and extended tools for Visual Studio development for Azure Cloud enabled applications.  Microsoft has released latest Azure SDK for .NET along with Visual Studio 2017 (RTW). The new version v3.0 will support only Visual Studio 2015/2017, if you are using Visual Studio 2013 you can use Azure SDK for .NET v2.9.6.

You can have both the version side by side, by uninstalling earlier version first for Visual Studio 2013 and installing latest version to support newer visual studio.

There is not much major changes included in this release:

  • All the tools you need to do Azure development will be part of Visual Studio 2017 going forward.
  • For Visual Studio 2015 the SDK will still be available through WebPI.
  • Microsoft have discontinued Azure SDK for .NET releases for Visual Studio 2013 now that Visual Studio 2017 has been released.

Download: Azure SDK for .NET 3.0  – VS 2015   |  VS 2013 (v2.9.6 )   |  All Versions (including Java/Node.JS)

Announcement: Update to My Blog 

January 1, 2017 General No comments

Hi All,

All these years I have been a Microsoft Technology fan especially around Web and Windows technologies. 

Now onwards I will start revamping my site more dedicated towards Azure, Analytics and Machine learning. At the same time I would also post some interesting blogs around other Microsoft Technologies, especially around .NET Core and cross-platform development.

Looking forward for your support, and collaboration further. Thank you!! Keep reading my articles and share further…

Microsoft Dev Camps in Hyderabad – Register Now

September 11, 2013 General No comments

Great news..

Date:
September 20, 2013

Time:
08:30 am – 06:00 pm

Venue:
Regenta One,
115/1, ISB Road,
Financial District, Nanakramguda,
Gachibowli,
Hyderabad – 500 032

Agenda

TIME Session
08:30 am – 10:00 am Registration & Tea
10:00 am – 10:45 am Welcome Keynote
10:45 am – 11:45 am Windows 8 Platform Overview
11:45 am – 12:45 pm Building Windows 8/8.1 Apps Using XAML and .NET
12:45 pm – 01:45 pm Lunch Break
01:45 pm – 02:45 pm Building Windows 8/8.1 Apps Using HTML/CSS/JavaScript
02:45 pm – 03:45 pm Windows Phone: Designing and Developing Apps
03:45 pm – 04:00 pm Tea Break
04:00 pm – 05:00 pm Windows Azure Platform – An Overview
05:00 pm – 06:00 pm Microsoft Interaction/Campaign Registration/Q&A

 

Register today at: http://www.microsoft.com/en-in/events/devcamps/default.aspx

Zip(Archive) API’s in .NET Framework 4.5 – ZipArchive Class

October 22, 2012 .NET, .NET Framework, .NET Framework 4.5, All, Back-2-Bascis, C#.NET, Codes, CodeSnippets, General, Help Links, KnowledgeBase, Microsoft, Samples, VB.NET, VisualStudio, VS2012 1 comment

With release of .NET Framework 4.5, Microsoft has introduced new classes in to System.IO.Compression namespace. These classes will add the necessary programming support for Zipping(Achiving), and Extracting support for Zip Files in your .NET Source Code.

Below are the newly introduced classes as part of .NET Framework 4.5:

ZipArchive – Represents a package of compressed files in the zip archive format.

ZipArchiveEntry – Represents a compressed file within a zip archive.

ZipFile – Provides static methods for creating, extracting, and opening zip archives.

ZipFileExtensions – Provides extension methods for the ZipArchive and ZipArchiveEntry classes.

In this blog post I am going to discuss about ZipArchive class which will help you with most of the important tasks in Archiving a file or folder using .NET.

The ZipArchive class enables you to work with a package of compressed files. The package contains an entry for each compressed file. You can:

  • Retrieve an entry by using the GetEntry method.
  • Retrieve the entire collection of entries by using the Entries property.
  • Create a new entry in the package by calling the overloaded CreateEntry method.

If you add reference for the System.IO.Compression.FileSystem assembly in your project, you can access three extension methods (from the ZipFileExtensions class) for the ZipArchive class: CreateEntryFromFile, CreateEntryFromFile, and ExtractToDirectory. These extension methods enable you to compress and decompress the contents of the entry to a file.

The System.IO.Compression.FileSystem assembly is not available for Windows Store apps.

In Windows Store apps, you can compress and decompress files by using the DeflateStream or GZipStream class, or you can use the Windows Runtime types Compressor and Decompressor.

Here is the quick sample that would help you to understand how to use ZipArchive class. Code is self explanatory – hope that helps. There are three methods ZipFiles – zip all files in a folder, ExtractFile – to extract files with specificname, ExtractFiles – extract multiple files.

Please go through the below code snippet. If you need additional information: visit MSDN Ref on System.IO.Compression, and in later posts we might discuss about the ZipFile class in more detail.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.IO.Compression;
using System.IO;

namespace ConsoleApp01
{
    class Program
    {
        static void Main(string[] args)
        {
            string targetZip = AppDomain.CurrentDomain.BaseDirectory + "\" + System.Guid.NewGuid().ToString() + ".zip";

            string sourceFolder = AppDomain.CurrentDomain.BaseDirectory + "\Sample01" ; //We are going to zip the whole contents of the folder. 

            Console.WriteLine(String.Format("Now Archiving the folder/file {0}, to target zip:{1} ", sourceFolder, targetZip));

            //Zipping the folder 
            ZipFiles(sourceFolder, targetZip);



            string extractFolder = AppDomain.CurrentDomain.BaseDirectory + "\" + Path.GetFileNameWithoutExtension(targetZip);

            Console.WriteLine(String.Format("Now Extracting the file {0}, to location:{1} ", targetZip, extractFolder));

            //Extract the entire Zip file 
            ExtractFiles(targetZip, extractFolder);



            //Extract files based on search pattern such as *.txt
            string extractFolder2 = AppDomain.CurrentDomain.BaseDirectory + "\" + Path.GetFileNameWithoutExtension(targetZip) + "12";

            Console.WriteLine(String.Format("Now Extracting the selected file(s) {0}, to location:{1} ", targetZip, extractFolder2));
            
            //Extract the entire Zip file 
            ExtractFiles(targetZip, extractFolder2, "*.txt");

            Console.WriteLine("Press any key to exit");

            Console.ReadKey();
        }

        /// <summary>
        /// Zips the files from the source folder - for now single level - assuming that we will be zipping all the files in a folder. 
        /// not the child folders and files in it, we will ignore it.
        /// </summary>
        /// <param name="sourceFilesFolderPath">The source files folder path.</param>
        /// <param name="targetZipFilePath">The target zip file path.</param>
        /// <param name="searchPattern">The search pattern.</param>
        public static void ZipFiles(string sourceFilesFolderPath, string targetZipFilePath, string searchPattern = "")
        {
            //if Source Directory exists. 
            if (Directory.Exists(sourceFilesFolderPath))
            {
                using (FileStream zipToOpen = new FileStream(targetZipFilePath, FileMode.OpenOrCreate))
                {
                    //Open Archieve for update
                    using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                    {
                        //Getting directory info
                        DirectoryInfo dInfo = new DirectoryInfo(sourceFilesFolderPath);


                        //Getting all files list in the folder 
                        FileInfo[] filesList = dInfo.GetFiles(searchPattern);

                        if (String.IsNullOrEmpty(searchPattern)) //fail safe to retrieve all
                            filesList = dInfo.GetFiles();

                        if (filesList != null && filesList.Length > 0)
                        {
                            //Creating archieve entry for each file in the folder 
                            foreach (FileInfo file in filesList)
                            {
                                archive.CreateEntryFromFile(file.FullName, file.Name);
                            }
                        }


                    }

                }
            }
            else
            {
                throw new DirectoryNotFoundException(String.Format("Source folder: {0} not found",sourceFilesFolderPath);
            }

        }




        /// <summary>
        /// Extracts the files.
        /// </summary>
        /// <param name="sourceZipPath">The source zip path.</param>
        /// <param name="targetExtractPath">The target extract path.</param>
        /// <param name="conditionalExtractPattern">The conditional extract pattern.(OPTIONAL)</param>
        public static void ExtractFiles(string sourceZipPath, string targetExtractPath, string conditionalExtractPattern = "")
        {
            string zipPath      = sourceZipPath;  //Source Zip File 
            string extractPath  = targetExtractPath; //Path to Extract

            if (!Directory.Exists(targetExtractPath))
            {
                Directory.CreateDirectory(targetExtractPath);
            }

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {

                //STEP 1
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    //Conditional extract
                    if (!String.IsNullOrEmpty(conditionalExtractPattern))
                    {
                        if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
                        {
                            entry.ExtractToFile(Path.Combine(extractPath, entry.FullName),true);
                        }
                    }
                    else // extract all..
                    {
                        entry.ExtractToFile(Path.Combine(extractPath, entry.FullName),true);
                    }

                    
                }

                //Or EXTRACT ALL USING 

                //STEP 2
                //archive.ExtractToDirectory(targetExtractPath);

            } 

        }




        /// <summary>
        /// Extracts the file.
        /// </summary>
        /// <param name="sourceZipPath">The source zip path.</param>
        /// <param name="targetExtractPath">The target extract path.</param>
        /// <param name="extractFileName">Name of the extract file.</param>
        public static void ExtractFile(string sourceZipPath, string targetExtractPath, string extractFileName)
        {
            string zipPath = sourceZipPath;  //Source Zip File 
            string extractPath = targetExtractPath; //Path to Extract

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {
                //STEP 1
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    //Conditional extract
                    if (!String.IsNullOrEmpty(extractFileName))
                    {
                        //Extract the file.
                        if (entry.FullName.EndsWith(extractFileName, StringComparison.OrdinalIgnoreCase))
                        {
                            entry.ExtractToFile(Path.Combine(extractPath, entry.FullName), true);
                        }
                    }

                }

            }

        }

    
    }
}


TypeScript–new language for Javascript Development

October 4, 2012 All, General No comments

Just two days before Microsoft has officially announced the new initiative ‘TypeScript’ – a new language for cross platform, enterprise class JavaScript application development.

Why we need it?

Typical JavaScript lacks few missing pieces for full object oriented development. Developers would not be much flexible doing object oriented development using native ‘prototyping’ in JavaScript. It is really time taking if you would like to do large scale JavaScript development using ‘prototype’ in JavaScript and even more confusing to the developer on defining the scope etc.

Instead developers would be more flexible if they could do JavaScript development like any other object oriented language like C#, Java does.

That is how TypeScript is born.

TypeScript

TypeScript is a programming language that makes it easier to write cross-platform, application scale, JavaScript that runs in any browser or in any host.  TypeScript,  is a typed superset of JavaScript that compiles your code to readable normal JavaScript, can dramatically improve your productivity by enabling rich tooling experiences, all while maintaining your existing code and continuing to use the same JavaScript libraries you already love.

TypeScript extends JavaScript syntax, so any existing JavaScript programs work with TypeScript without any changes.

TypeScript is designed for development of large applications and when compiled it produces JavaScript to ensure compatibility.

TypeScript is a language extension that adds features to JavaScript.

  • Type annotations and compile-time type checking
  • Classes
  • Interfaces
  • Modules
  • Arrow functions (Lambda functions)

Compatibility with JavaScript

TypeScript is a superset of JavaScript. By default the compiler targets ECMA Script 3 (ES3) but ES5 is also supported as optional. A TypeScript application can consume existing Javascript scripts. Compiled TypeScript scripts can be consumed from JavaScript.

Existing frameworks such as JQuery and Node.js are fully supported. Type declarations for these libraries are provided with the source code.

Supported web browsers and platforms

Any web browser on any platform can run TypeScript as it is just compiled into standard JavaScript. A script can either be precompiled into JavaScript or compiled on the fly by including the JavaScript compiler for TypeScript.

The TypeScript Compiler

The TypeScript compiler, or tsc, is written in TypeScript that can be compiled into regular JavaScript that can be executed in any JavaScript engine in any host, such as a browser. The compiler package comes bundled with a script host that can execute the compiler.

It is also available as a Node.js package that is using Node.js as a host.

The current version of the compiler supports ECMAScript 3 by default. An option is allows to target ECMAScript 5 to make use of language features exclusive to that version.

Classes, despite being part of the ECMAScript 6 standard, are available in both modes.

<code>&lt;p&gt;&lt;strong&gt;&lt;u&gt;IDE &amp;amp; Tooling Support&lt;/u&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Microsoft provides a plug-in for Visual Studio 2012 as well as basic text editor support for Sublime Text, EMACS and Vim &lt;/p&gt;  &lt;p&gt;The TypeScript website has an interactive &lt;a href="/wp-content/uploads/2012/10/playground"&gt;Playground&lt;/a&gt; that provides a rich coding experience. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;u&gt;TypeScript is Free &amp;amp; OpenSource&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The TypeScript language specification is available under &lt;strong&gt;Open Web Foundation&lt;/strong&gt; and the compiler implementation is available as &lt;strong&gt;Open Source&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;You can find codeplex repository of TypeScript at &lt;a title="http://typescript.codeplex.com/" href="/wp-content/uploads/2012/10/typescript.codeplex.com"&gt;http://typescript.codeplex.com/&lt;/a&gt;&amp;#160;&lt;/p&gt;   &lt;p&gt;&lt;strong&gt;For more information on &lt;/strong&gt;&lt;a href="/wp-content/uploads/2012/10/www.typescriptlang.org"&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; :&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Walk through the &lt;a href="/wp-content/uploads/2012/10/tutorial"&gt;tutorial&lt;/a&gt; . &lt;/li&gt;    &lt;li&gt;Try it out in the &lt;a href="/wp-content/uploads/2012/10/playground"&gt;Playground&lt;/a&gt; . &lt;/li&gt;    &lt;li&gt;Check out the &lt;a href="/wp-content/uploads/2012/10/samples"&gt;sample apps&lt;/a&gt; . &lt;/li&gt;    &lt;li&gt;Read the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=267121"&gt;language specification&lt;/a&gt; . &lt;/li&gt;   &lt;/ul&gt;   &lt;strong&gt;Information References &amp; Courtesy:&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://en.wikipedia.org/wiki/TypeScript" href="/wp-content/uploads/2012/10/TypeScript"&gt;http://en.wikipedia.org/wiki/TypeScript&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://typescript.codeplex.com/" href="/wp-content/uploads/2012/10/typescript.codeplex.com"&gt;http://typescript.codeplex.com/&lt;/a&gt;&amp;#160;&lt;/li&gt;    &lt;li&gt;&lt;a href="/wp-content/uploads/2012/10/Anders-Hejlsberg-Introducing-TypeScript"&gt;http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="/wp-content/uploads/2012/10/microsoft-typescript-the-javascript-we-need-or-a-solution-looking-for-a-problem"&gt;http://arstechnica.com/information-technology/2012/10/microsoft-typescript-the-javascript-we-need-or-a-solution-looking-for-a-problem/&lt;/a&gt;&amp;#160;&lt;/li&gt; &lt;/ul&gt;
</code>