Alessandro Del Sole's Blog

/* A programming space about Microsoft® .NET® */
posts - 147, comments - 0, trackbacks - 0

My Links


Your host

This is me! This space is about Microsoft® .NET® and Microsoft® Visual Basic development. Enjoy! :-)

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.

Microsoft MVP

My MVP Profile

I'm a VB!

Watch my interview in Seattle

My new book on VB 2015!

Pre-order VB 2015 Unleashed Pre-order my new book "Visual Basic 2015 Unleashed". Click for more info!

My new book on LightSwitch!

Visual Studio LightSwitch Unleashed My book "Visual Studio LightSwitch Unleashed" is available. Click the cover!

Your visits

Follow me on Twitter!

CodePlex download Download my open-source projects from CodePlex!

Article Categories


Post Categories

.NET Framework


Help Authoring

Microsoft & MSDN

Setup & Deployment

Visual Basic 2005/2008/2010

venerdì 7 agosto 2015

Visual Basic 2015 Unleashed: my new book is available

It has been a long road, but my new book Visual Basic 2015 Unleashed is finally available.

It is not a simple update from the previous edition, Visual Basic 2012 Unleashed.

In the 2015 edition, I made significant revisions, fine-tuning contents as technology evolves from the Microsoft perspective. Also, I had the pleasure and the honor of featuring Anthony D. Green and Lucian Wischik from the Managed Languages team at Microsoft as the technical editors. They are the people who know Visual Basic better than any one on the Planet and their work has been invaluable to make this book even more accurate than the past.

If you read the previous editions, and if you are interested in the new one, you will immediately notice a new Chapter 1, called Introducing .NET 2015. The book starts describing the new vision of .NET, talking about .NET Framework 4.6 and the new .NET Core 5.

Among the others, the book explains the new code refactorings, all of the new language features including (but not limited to) the null-conditional operator, string interpolation, read-only auto-properties, partial modules and partial interfaces.

The most juicy chapters are about the .NET Compiler Platform (a.k.a. Project "Roslyn) and Windows 10 development. With these, you learn how to write a Roslyn analyzer and a code refactoring and how to start coding a truly universal Windows 10 app with Visual Basic.

To get a taste of the book, you can download Chapter 42 for free and the full companion code from the book site.



posted @ venerdì 7 agosto 2015 14:35 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

martedì 14 luglio 2015

New article series about Visual Basic 2015

I've started a new article series about Visual Basic 2015. More specifically, there are three new articles about the new code focused experience in VB and the .NET Compiler Platform.

You might find the articles on the InformIT web site:

Part 1 - The code focused experience in Visual Basic 2015
Part 2 - Live Code Analysis with Visual Basic 2015
Part 3 - Creating custom refactorings with VB 2015 (coming soon)



posted @ martedì 14 luglio 2015 12:45 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

My book Visual Basic 2015 Unleashed available for pre-order

I'll be writing a more detailed post with sample contents, however this is to inform you that my new book Visual Basic 2015 Unleashed can be pre-ordered on Amazon.

There's a lot of new stuff that you might want to check out as a VB developer, such as Windows 10 development, .NET Compiler Platform (project "Roslyn"), and of course all the new language features.

Check it out!


posted @ martedì 14 luglio 2015 12:41 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

venerdì 27 febbraio 2015

OData v4 and Web API example with Visual Basic 2015

It's been a while since my latest blog post here. The reason is that I've been busy writing a new book about Visual Basic 2015, which is still under development, and with my Italian blog and resources.

I'll try to write more frequently from now on. This post is to tell you that I've published a basic example about creating an OData v4 service with Web API and Visual Basic 2015. The excuse has been that there's no sample in Visual Basic.

I have used Visual Studio 2015 CTP 6 and you can download the sample from MSDN Code Gallery

Have fun


posted @ venerdì 27 febbraio 2015 16:50 | Feedback (0) | Filed Under [ Visual Basic ]

lunedì 23 giugno 2014

Messaging apps you can use instead of Whatsapp

This is not a technical blog post, rather it is something I wanted to share with smartphone users, especially with those who experienced bad days during some blocks of the Whatsapp messaging service. That said, I'd like to mention some good alternatives which allow chatting and possibly making VOIP phone calls. Apps I'm going to talk about are available to all platforms, including Windows Phone, iPhone, and Android devices.

Obviously I will not discuss Skype and Viber (and Whatsapp of course) because you already know them and because they have different purposes (while chatting is one possibility).

You will be able to find them in your platform's Store.

Line is a very nice app. It does not show if you are online, whereas it shows if you read a message. It allows sharing attachments and making calls over VOIP; you can add multiple people to a single conversation (not just 2). Two interesting features: an incredible number of stickers, updated weekly, and VIP accounts (including singers, actors, etc). Also, if you have a Windows 8 or 8.1 device you can install an app which is very useful on tablets.

WeChat is a messaging app which extends the concept of social networking, because it allows additional activities such as searching for people nearby, even if you don't know them, who are registered users; you can share photo albums with other users, you can send a "message in a bottle" that someone in the world will read. WeChat provides better privacy management, which means that you can decide to accept or reject friendship requests; this prevents from connections with anyone. WeChat still provides stickers. It is somewhat more complicated than others, but it introduces some very good ideas.

Recently introduced into the Windows Phone store, Telegram is without a doubt one of the most common messaging apps and it acts in a way that is pretty close to Whatsapp. It allows chats, sharing attachments (on Windows Phone you can also share documents). It offers very good performance and is one of the most popular alternatives to Whatsapp. Not limited to this, there is a desktop version (unofficial) for both Windows and iOS.

KiK is becoming very popular as a connection method on social networks like Instagram, because it is not necessarily associated to a phone number, which is optimal for privacy. In order to receive connections, you will have to share your personal Id. Be careful: I don't know why, but you can receive connections from many people that you do not know.

Talk.To Messenger is not very popular yet, but it works pretty well. It offers common functionalities for chatting and sharing pictures; you can also add more than two people to a single conversation.
As I said before, these apps are available to all platforms. If you know other apps, don't keep it for yourself.


posted @ lunedì 23 giugno 2014 20:57 | Feedback (0) | Filed Under [ Silverlight/Windows Phone ]

giovedì 3 ottobre 2013

A new app for Windows Phone 8 built with VB: Where are my Items?

It's been a long time since my last post in this blog. As you might know, I run an Italian community about Visual Basic so writing in two different languages concurrently can be hard, especially when you also author books about programming, such as Visual Basic 2012 Unleashed

About Visual Basic, I use it everyday not only for building business apps and for authoring learning materials, I also use it for building apps for Windows Phone.

I have recently published a new app, called Where are my Items? (download here). The goal of the app is saving the location of your objects, so that you will never forget where they are; you can also add a picture and backup data on your SkyDrive.

So, why am I telling you this? Because it's the first time I implement localization in multiple languages and that I use in-app purchases APIs. Of course, I did test in-app purchase so it works Since it has been the first time I used some features, I'd like to ask your feedback. If you have some free minutes, please download the app and give me some feedback. I appreciate it.

Secondly, I'd like to give a mention to Telerik and its great RadControls suite for Windows Phone. I've used Telerik controls for animated tiles and zoom-image in the app and it was fun.

Final note: there is an update of the app that is waiting to pass certification. This update will fix some issues with the light theme of the phone and, most importantly, will be more consistent with the English language, so the title is going to be replaced with Where are my Things?

Thanks for your feedback!


posted @ giovedì 3 ottobre 2013 12:51 | Feedback (0) | Filed Under [ Visual Basic Silverlight/Windows Phone Visual Studio 2012 ]

martedì 21 maggio 2013

Deploying IntelliSense code snippets for Visual Studio 2012 with VSIX packages

Back in Visual Studio 2005, Microsoft introduced reusable code snippets that can be picked up in the code editor with IntelliSense support. Something like this:

Code Snippets are XML files with .snippet extension based on a specific schema. Rather than typing manually your XML files, a good idea is using a snippet editor. There are a lot of snippet editors available for free, I personally use the Snippet Designer editor which is integrated in the IDE. With an editor like this, you simply write or copy-paste code and provide the appropriate metadata information. The editor is responsible for producing well-formed XML files that can be correctly recognized by Visual Studio.

I will not cover creating code snippets here, I will instead show how to package snippets for easy deployment.

Once you have your snippets, you might want to use them in the code editor or to share them with other developers. Code snippets are stored inside language-specific folders, such as C:\Program Files (x86)\Microsoft Visual Studio 11.0\VB\Snippets\1033. Also, Visual Studio provides the My Code Snippets folders where users can save snippets without being administrators.

In the previous editions of Visual Studio, you could package a number of snippet files (plus add-ins, macros, item/project templates, controls) inside a .Vsi installer. Then, the Visual Studio Content Installer tool helped users install contents into the appropriate location.

Even though .Vsi packages are still supported, Visual Studio 2012's extensibility relies on the VSIX file format, which provides a better customer experience. For this reason, sharing reusable code snippets should be done with a VSIX package.

Assuming you have a number of snippets ready and that you already installed the Visual Studio 2012 SDK, the first thing you need to do is creating a new, empty VSIX project:

In Solution Explorer, add a new folder to the project where you will store snippets. The name of the folder is very important, because it will be also the name of the group of snippets inside the code editor. Add all the .snippet files you want to deploy to other developers:

As you can see in the figure, it is very important to remember to set the Build Action, Copy to Output Directory, and Include in VSIX properties as shown, otherwise snippets will not be included in the package.

The next step is adding a package definition file, with .pkgdef extension. To add one, you can simply use the text file template. The package definition file will tell the installer where to install code snippets. I am using Visual Basic code snippets, so I'm going to use the following syntax:


What the code does, is finding the registry key that contains the collection of directories for VB code snippets on the target machine. To this collection, a new path is added with the custom key specified on the second line. Supported language identifiers are Basic, CSharp, SQL, HTML, XML, C++, and JavaScript. You can check out the MSDN documentation for additional strings in the pkgdef file.

Don't forget to set the file properties as you already did for snippets. The next step is making a manual edit to the extension manifest. In Solution Explorer, right click the source.extension.vsixmanifest file and choose to open it with the XML internal editor, finally add the following node before the closing file tag:

    <Asset Type="Microsoft.VisualStudio.VsPackage" Path="Snippets\DelSoleVBSnippets.pkgdef" />

Close the XML editor and re-open the manifest with its designer. Set the extension's metadata (publisher, license, images) but make sure you do not change the asset added manually. You are done.

You can now debug your extension in the experimental instance of Visual Studio by simply pressing F5. When ready, switch to the Release configuration and build the solution. You will find the redistributable .Vsix package under Bin\Release as usual. This package can be easily published to the Visual Studio Gallery for easy deployment through the Extension Manager in Visual Studio.

Note: if you plan to install your snippets to a non-default location, you might need to create a snippet index file. Check out this page in the MSDN documentation.

Enjoy your code snippets!


posted @ martedì 21 maggio 2013 07:40 | Feedback (0) | Filed Under [ Visual Studio 2012 ]

giovedì 14 marzo 2013

Retrieving RSS feeds for Twitter and Facebook

You might need to analyze RSS feeds from different pages in order to get information and latest news from a channel. Facebook and Twitter are probably the most interesting, but there's no easy specific API.

Fortunately it is possible to retrieve the RSS feed 2.0, that is XML, in a pretty easy way. The following URL allows retrieving the RSS feed of a Facebook page (not user profile):

Where pageidnumber is the id of the desired page. For instance, the Facebook address for my VB community in Italy is the following:

About Twitter, you can retrieve a feed like this:

Where username is the account name of the person you are following. For instance, this is the RSS feed for the profile of my Italian VB community:

You might find this useful 


posted @ giovedì 14 marzo 2013 10:32 | Feedback (0) | Filed Under [ Misc ]

Powered by:
Powered By Subtext Powered By ASP.NET