Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.
Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.


Best of SharePoint 2010 VSIX

The more I learn about Visual Studio 2010 the more I like it. For SharePoint developers, it is great to finally have a mature toolset. To make that experience even better the community has created several VSIX extensions as a “quick start” to more easily jump into various project types. Below I outline links to the VSIX extensions I am aware of and run locally. If you have any questions or suggestions please leave a comment.  Cheers!  





CKS:DEV – Community Kit for SharePoint: Development Tools

SharePoint Foundation 2010 version and SharePoint Server 2010 version

WSPBuilder conversion tool (WCT) beta

Improved Quick Deploy

Keyboard shortcuts

Updated Full Trust Proxy SPI

Restart processes menus

Attach to processes menus

Solution level Package all

Improved import Content Types

Branding SPI

Improved Fluent visual web part SPI

Basic service application SPI

WCF service SPI

SharePoint PowerShell cmdlet SPI

SharePoint PowerShell pipe binding SPI

Improved copy assembly name menu

SharePoint 2010 Extensibility Projects

  • Silverlight and SharePoint project template
  • SharePoint Ribbon project template
  • OBA Deployment project template

Visual Studio 2010 SharePoint Power Tools

  • Sandboxed-compatible Visual Web Part
  • Sandboxed Compilation

Silverlight SharePoint Web Parts

  • Silverlight Web Part
  • Silverlight Custom Web Part

SharePoint 2010 Timer Job

SharePoint 2010 Console Application,_Project_Template.aspx

LINQ to SharePoint DSL Extension for Visual Studio 2010


Windows Azure – publishing from Visual Studio 2010 (step-by-step with screenshots)

Today I deployed my first Azure application and documented the step-by-step process with detailed screenshots.

First I downloaded the Azure SDK and prepared Visual Studio 2010.   Azure is a cool idea because of the support for highly scalable custom code.  One frequent objection to cloud hosting is the basic functionally.   Cloud providers tend to offer what’s easy and convenient … while avoiding custom code.    Hybrid models may be the resolution.  Architects who can connect multiple vendors seamlessly or blend on-premise with in-cloud servers will be in demand.

  • Download the Azure SDK
  • Locate the first Hands On Lab (HOL) “Introduction to Windows Azure”
  • Code and build in Visual Studio 2010
  • Verify local Azure Emulator is working (files / SQL database / Compute)
  • Deploy to Azure in the cloud  (NOTE – this is  lot of work the first time,  must get connected and trusted)




We begin with the "Guest Book” sample application which allows you to post messages on a common wall with a picture attached.  Simple enough.



Here you can see the tray Azure Emulator running the website locally on my laptop.   For development you want to run things locally, test, and deploy to the cloud when stable.



Right clicking on the tray icon allows you to view Emulator status, logs, and details.   You can restart and control instances here.



Out of curiosity I opened SQL Management Studio  and viewed the “SQLEXPRESS” instance (which the default for the Azure SDK examples).  Here you can see the databases and tables this sample created.  The schema appears very abstracted.   From Visual Studio 2010 all I saw were strongly typed Classes and Objects for data.   Somehow that is being flattened to a database table using the Azure binaries, pretty cool.



Here is the Visual Studio 2010 Solution Explorer showing the 3 projects and related files inside of the “Guest Book” sample application.



OK, let’s get to the fun part.   Open a web browser, navigate to and login to Windows Azure Platform Management.  There is some new vocabulary which be confusing at first.   First, create a new “Hosted Service.   This can take 5-10 minutes to provision so be patient.



Once the “Hosted Service” shows “Created” then we must add a “Storage Account” for the ability to hold data in the cloud.



Certificate trusting the local laptop’s Visual Studio 2010 to publish.   This is a LOT of work, but only a one time operation.  Let’s get started.   Right click on your Azure project within the solution explorer and click Publish.



The first time here we need to Add Credentials.



To pair the local Visual Studio with the Azure cloud, we need a certificate.   Since this is our first time, create a new one.  Name it whatever you like.  I chose to name mine after the development laptop “JEFF-PC”



Click “copy the full path” to populate the clipboard with the local file path.



We’re going to leave Visual Studio 2010 for a minute, but keep it open in the background since we’ll be back.  In the web browser go back to Windows Azure Platform Management.  Click “add certificate” and paste the local .CER file path from the previous setup.



Click on the “Subscription” line item to view the “Subscript ID” number.  Copy this to the clipboard.  You will need to give that to Visual Studio 2010 locally for publishing.



Back in Visual Studio 2010 we need to finish the Add dialog by giving it two values:   Subscription ID and Name.




  You’ve successfully connected your local Visual Studio 2010 to the Azure Subscription.   You should now see three cascading drop down menus with the Azure cloud deployment destinations.

STSADM CMD with email output

Waiting and watching STSADM run on the CMD line is an exercise in patience.  Lately I’ve been incorporating two techniques to email myself updates for the freedom to walk away from the keyboard.

A quick command line EXE project allows me to send email by giving parameters (number 0-5).   If 5 is blank, no big deal just send a plain email with subject and body.   If 5 exists then attempt to open that text file, read content, and send as email body.

That’s great, but … how does this help me?  Great question!!

1) Send email at key script milestones

The freedom to walk away and receive alerts as progress continues allows you to be stay confident and know progress is moving forward.  Just add “SendMail.exe” inline with your existing CMD files to send an email at that step in the process.


2) Send email with script outcome

The detailed knowledge of what return value came from the CMD when it finished is helpful.   Imagine running a site move (STSADM backup/delete/restore) and heading out for dinner.   It’s very nice to get an email showing “Operation completed successfully” three times. 


   Just use “SendMail.exe” with parameter 5 being the text file full path and name.




using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
namespace SendMail
    class Program
	static void Main(string[] args)
		string textFile = "";
		if (!String.IsNullOrEmpty(args[5]))
			//send text file as body
			TextReader tr = new StreamReader(args[5]);
			textFile = tr.ReadToEnd();
		//create message
		Console.WriteLine("from {0} to {1} subject {2} body {3} on server {4}", args[0], args[1], args[2], args[3], args[4]);
		MailMessage message = new MailMessage(args[0], args[1], args[2], args[3]);
		//if file was given modify body
		if (textFile != "") message = new MailMessage(args[0], args[1], args[2], textFile);
		SmtpClient emailClient = new SmtpClient(args[4]);

Unlock ASMX for easy manual invoke (developers)

For SharePoint development I like to use the .ASMX web services for reading data.  Out of the box default security prohibits manual remote HTTP queries.  A quick edit to “C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12ISAPIweb.config” for changing <protocols> from “remove” to “add” and then you’ll be able to manually Invoke.

The raw XML returned by a manual invoke is incredibly valuable for developers. 


Before (out of the box)


After (unlocked for development)


© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲