Visual Studio 2012 or 2010 for SharePoint 2010 Development?

A recurring question that has come up is regarding which version & flavour of Visual Studio can and should be used for SharePoint- we are at a point where SP 2013 is coming on strong but many, many clients are going to be locked into SP 2010 for a while yet. Obviously an investment in software like Visual Studio should be made with the best balance of future-proofing and low cost possible. This post seeks to offer some advice on that.

The quick answer is:
-you can develop for SP 2010 using VS 2012, there project templates etc. that are geared for both version in VS 2012.
-you can develop for SP 2013 using VS 2010, however there’s going to be loose ends. Upgrading your existing VS 2010 solutions to VS 2012 is however not that hard.

The next question you will likely have is, which flavour of Visual Studio to get – Ultimate with MSDN, Premium with MSDN, Test Professional, Professional with MSDN, or Professional.

Version compare here: http://www.microsoft.com/visualstudio/eng#products/compare. I would see Visual Studio Professional 2012 being a good fit for most common scenarios, but whether you use Pro or move up to Premium would depend on if you need the following Premium features:

-          PowerPoint Storyboarding
-          Team Foundation Service

In general, the big upsell when going up the feature matrix ladder is when you are working on hardcore software development in big teams, using Agile development processes, complex unit testing etc.

The hard requirement of having Visual Studio installed on a non-production SharePoint server install is pretty much standard, until you go to a SharePoint 2013 development model which is based on more open standards and Apps. Depending on your licensing provisions available (e.g. you’re in Government or Education), you may have SharePoint CAL’s covered to create such an environment – or, and for a variety of other reasons, you might want to consider an MSDN subscription. An MSDN subscription also would enable the aforementioned Team Foundation Service hosted source code option.

A fleshed-out dev environment is a must, custom code should never see the light of day on a production server until tested, there is always potential for irreparable damage to production systems when it comes to custom dev. Here are four great options for setting up a SharePoint development environment in the cloud.

SharePoint dev is sometimes maddeningly complex as the already complex front-end side of SP is just the tip of iceberg. The plumbing underneath is massive. Although there is quite a bit of flexibility with how you approach it, you definitely need to get your shop tooled up in a specific pattern, and Visual Studio is just one component. Evaluating whether or not it even makes practical sense to do such work in-house or to contract out is a big jigsaw puzzle too.  Fortunately there is a good degree

CKS Dev for Visual Studio 2012 is here

The Community Kit for SharePoint: Development Tools Edition extends the Visual Studio 2012 SharePoint project system with advanced templates and tools. Using these extensions you will be able to find relevant information from your SharePoint environments without leaving Visual Studio. You will have greater productivity while developing SharePoint components and you will have greater deployment capabilities on your local SharePoint installation.

CKSLogo

This version is targeted for users running SharePoint 2010 or SharePoint 2013. You only need this version regardless of SharePoint edition or version.

Previous Visual Studio 2010 versions can be found CKS – Development Tools Edition (Foundation) and CKS – Development Tools Edition (Server)

Features

This project provides extensions to four core areas; Environment, Exploration, Content and Deployment.

Exploration extends the new SharePoint Explorer with advanced information about SharePoint sites such as the installed Web Parts and Master Pages or the Feature dependencies and elements. Also included in the Explorer are a variety of import functions to bring existing SharePoint items into your active solution.

The Content area includes advanced templates such as Linq to SharePoint, Custom Action or Delegate Control. Become extra productive while developing sandboxed solutions using the SharePoint Full Trust Proxy. Utilise the SharePoint Console Application project template to quickly build SharePoint code.

Our enhanced Deployment functions give you the ability to utilise quick deployment and almost a dozen other productivity enhancing deployment steps, including automated deployment (per file on change deployment).

Find the complete overview of all the CKS Development Tools Edition features on the documentation tab of the project site.

Microsoft All-In-One Code Framework new update is out

New (Oct.25 2012) release of the Microsoft All-In-One Code Framework is out.

Lots of new Windows Phone 8 samples, an Enterprise Sales Dashboard for Windows 8, SharePoint 2013 Custom Geolocation field type with Client side rendering, a Microsoft Surface Sample screen saver, and more..

Introduction

Developers love code samples. Samples often serve as the starting point for many developers to learn a new technology. They also provide straightforward solutions and helpful references when we as developers need to solve tough programming tasks. Some developers even live by code samples.

In partnership with Visual Studio Product Team and MSDN Samples Gallery Team, Microsoft All-In-One Code Framework releases Sample Browser Visual Studio Extension for Visual Studio 2012 and Visual Studio 2010 – an effort to evolve the code sample use experience. You can search and download 3500+ Microsoft official code samples and community samples, including over 700 Windows 8 samples and more than 1000 All-In-One Code Framework customer-driven code samples. With its integrated sample search, flexible sample download and more than ten useful features designed for easier access and management of code samples, we hope to put the power of tens of thousands of code samples at developers’ fingertips.

 

Features & Benefits

  • Integrated and Rich Sample Search Experience

Sample Browser Visual Studio Extension is integrated with Visual Studio Quick Launch Bar, Toolbar, Code Editor and File Menu. It gives you quicker access to samples when you are writing code in Visual Studio. A rich set of sample search conditions allows you to filter search results by language, owner, technology and the targeting Visual Studio version.

  • Integrated and Flexible Sample Download Experience

The Sample Browser Visual Studio Extension is integrated with the built-in support of downloading online samples in Visual Studio 2012. Code samples downloaded in Sample Browser Visual Studio Extension are visible to the built-in code sample feature in Visual Studio 2012. Vice versa.

Beyond that, Sample Browser Visual Studio Extension provides additional benefits to developers. Developers can enjoy theflexibility in downloading and managing code samples. By multi-selecting sample search results, and clicking a simple download button, you get your wanted code samples.

  • Integrated Look and Feel

Sample Browser Visual Studio Extension is integrated with the Visual Studio theme colors. It supports both light and dark themes.

Windows Internet Explorer Testing Center – IE10 FTW

For developers and consumers alike, successful W3C and Ecma International web standards are important for making the web better. A comprehensive test suite is an important part of a healthy standard, along with a clear specification and great implementations of the standard. Without thorough tests that assess the normative statements in a specification, a proposed standard is just a document on a website.

Any browser can claim to support some or all of a specification. The test results from a comprehensive test suite are the best way to determine which browsers will render the same markup consistently. Web developers have told us that seeing the test results, chapter-by-chapter, spec-by-spec, enables them to spend their valuable time building rich, interoperable web experiences for their customers.

We developed 75 new test cases and updated 168 test cases in conjunction with development of Internet Explorer 10 Release Preview. The IE Testing Center now offers a total of 7573 test cases. We continue to work closely with these two web standards organizations by submitting these test cases officially within each working group’s official process.

We welcome your continued feedback on the test cases using the appropriate W3C mailing list for each working group. For ES5 test cases please open bugs in the test262 bug database.

The first table below summarizes the test results by specification with Internet Explorer 10 Release Preview along with each of the major shipping browsers running on the Windows Release Preview. The second table at the bottom of this page provides links to each of the test cases we submitted to each appropriate working group to help the web become more interoperable.

Cross-browser Test Results Summary:

Web Standards Number of Submitted Tests Internet Explorer 10 Release Preview Mozilla Firefox 12 Opera 11.64 Apple Safari 5.1.7 Google Chrome 19.0.1084.46 Internet Explorer 9
HTML5 326 99% 74% 64% 74% 89% 36%
SVG 1.1 2nd edition 74 100% 93% 93% 88% 97% 95%
CSS 236 100% 70% 59% 63% 66% 62%
DOM 127 100% 89% 85% 90% 94% 100%
Web Performance 28 96% 89% 0% 0% 89% 39%
Web Applications 464 99% 78% 42% 32% 54% 21%
JavaScript 6,318 100% 97% 99% 91% 100% 91%
Last updated: 5/31/2012

View Source Chart for IE

Thought i’d share that there’s an IE port of a valuable plugin i’ve used in Firefox for a while, View Source Chart:

Steps to get beautiful, visually sensible HTML source viewing in IE9:
1. Copy the script below and paste it into a new browser bookmark.
2. Click the bookmark from any page to view its source chart.

For other browsers, check the first code block on this page.

About View Source Chart

Cross-browser bookmarklet now available at viewsourcechart.com

A PICTURE SAYS A THOUSAND WORDS
Eyesight is the most efficient way for the human brain to process information. By placing visual boundaries where they already exist invisibly, Source Charting enables you to take in DOM structure and hierarchy as fast as your brain possibly can.

IT’S BETTER BECAUSE…
When mentally building tag boundaries by reading a tag name, then using manual actions like clicking, finding and scrolling, we experience forced breaks in cognitive processing. As the DOM becomes more complex, more productivity is lost. It doesn’t take long before mentally navigating the DOM becomes impossible.

Source Charting eliminates the need for processing any other way but the fastest: visually. It provides an instant and complete visualization of hierarchical nesting of any tag in the view port.

SUMMARY
Source Charting…
* Defines HTML Tag Boundaries (so you don’t have to)
* Defines DOM Structure and Hierarchy (so you don’t have to)

Case In Point: The Misapplication of Flowchart-style UI for DOM Inspectors
DOM inspectors and Folder Viewers have historically (and mistakenly) used flowchart-style GUIs to help users navigate hierarchies. The problem is that this type of GUI is intended to convey sequential movement or flow, not structure.

Because sequence and flow is measured one step at a time, the lines connecting elements in a flowchart-like GUI span only one generation (parent-child). When used to depict complex hierarchical structures like the DOM, the user is forced to inefficiently and inaccurately measure hierarchical nesting levels using white space indentation. (See image #3 above)

It is precisely this subtle but monumental mistake that View Source Chart overcomes.

The only way to visualize structure accurately is to measure hierarchical nesting. This is done simply by pictorially delineating element boundaries, which results in a manifestation of document structure.

For a full de-bugging How-To, visit http://viewsourcechart.com/what-why-how

Cross-browser bookmarklet available at http://viewsourcechart.com/get-the-bookmarklet

Incoming search terms:

Telerik acquires Fiddler

Great news, the greatest little open source web debugger, Fiddler, has now been aquired by the great vendor of .NET controls, Telerik. Expect some nice upgrades to Fiddler soon, and yes, it will remain free.

Full story:

http://www.telerik.com/automated-testing-tools/blog/christophereyhorn/12-09-10/here-we-grow-again-telerik-acquires-fiddler-what-s-next.aspx

“We have some very exciting news to share with the Telerik community. Telerik has just acquired Fiddler! Even more exciting is that Fiddler’s brilliant creator Eric Lawrence will come over from Microsoft to join the team fulltime. For those of you who don’t know, Fiddler is a web debugging proxy which logs all HTTP(S) traffic between your computer or device and the Internet. In other words, it is an essential tool for any web, desktop or mobile developer. The popularity and sophistication of Fiddler is hugely impressive considering this has been Eric’s informal side project for more than 8 years. With Eric joining the team he will be able to deliver on his vision for Fiddler with the full financial and resource backing of Telerik.

It might be apparent why Eric would jump at an opportunity to turn his side passion project into a full time position, but what might not be readily obvious is why Telerik would need a product like Fiddler in our portfolio.

Our strategy has always been to acquire when it makes sense and to use the new technology to improve our core products for the benefit of our customers. In the case of Fiddler, this was a natural extension because Fiddler is already in use as the core technology behind Test Studio’s load and performance features. Additionally, we gain a formidable competitive edge over other tools as both Eric and Fiddler join the Test Studio product family. The collaboration for enhancing Fiddler is already underway as well as discussions to further expand our portfolio and extend support for our customers.

The Fiddler community is very important to us. We have learned from the mistakes of others who have acquired free tools only to turn the tables on the community and monetize them at a later date. We admire what Fiddler has delivered to the community and want to expand that value by investing in things like expanded platform support, user interface improvements and a first class website with extensive community and support features.

That is why, as part of our commitment to keeping Fiddler free and making further investments into the tool, we have launched a poll on the Fiddler website asking the community to vote on the first improvements we will target. Whether you are an avid or occasional Fiddler user we would love to get your opinions on what you would like to see happen first.

To give you some insight into how popular Fiddler really is here are some stats, year to date. On average Fiddler receives over 9,000 installations EVERY DAY, and when I say average that is including weekends. That number jumps to over 10,000 for weekdays. The website has received more than 5 million unique visitors this year alone with over 80% of them being first time visits. Needless to say that the Fiddler community is not just big, it’s HUGE.

So please help me in welcoming Eric and the Fiddler community into the Telerik family. Great things are ahead for Fiddler as we continue to invest in and build an even better tool and community. To see how Fiddler is already powering Test Studio’s load and performance features download a trial today.”

AutoSPInstaller – Auto-create local profiles for SharePoint Service Accounts

SharePoint is a big product and there’s a lot of people in the world working on it.. so it’s funny to be working on a specific issue, then coming full circle and either Bing’ing upon your own old blog post, or, as today, seeing that someone has adopted what the guy sitting next to you blogged a while ago into the current code you are looking at.

What

While running SharePoint 2010 you may notice the following error Event ID 1511 messages in your Application event log each time you restart the IIS Worker process and made a request:

Log Name: Application
Source: Microsoft-Windows-User Profiles Service
Date: 5/3/2010 10:05:07 AM
Event ID: 1511
Task Category: None
Level: Error
Keywords:
User: CONTOSO\AppPoolAccount
Computer: SP2010Dev.contoso.com
Description:
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.

So What

If your SharePoint services accounts are being run under the Application Pools then you are not going to see this message. If you are however using a separate account to run your Application Pools you are probably going to see this error in your event logs.

You need to get those accounts to fire up a local profile – this could in the simplest sense be accomplished by logging on as each of those accounts once. Nasty!

The better approach- well, I was looking at scripting a PowerShell to run the following en masse for all of an installs service accounts:

runas /u:CONTOSO\AppPoolAccount /profile cmd

..however, knowing that we have had some joy with the AutoSPInstaller recently, I thought I’d poke around that and see if we couldn’t just wire in the creation of the local profiles into that solution, so it would be taken care of in the same go as batch account creation.

Well, poking around the AutoSPInstaller file AutoSPInstallerFunctions1.ps1 is discovered the following magical discovery – look’s like my homeboy Sean (on his Brainlitter blog post) has already inspired this fix (change 72193) to be added to the AutoSPInstaller codebase! :

The suggestion from matein78 got added in as a patch:
- AddManagedAccounts function now creates local Windows profiles for each account, to avoid ’1511′ type event log errors (thanks to user matein78′s suggestion from http://autospinstaller.codeplex.com/workitem/15535!)

NOTE: I created a stripped down version of this functionality that doesn’t require the main AutoSPInstaller script, i.e. you can run it manually on a hand-deployed SharePoint install. Read about it here.

..which is implemented as:

ForEach ($account in $xmlinput.Configuration.Farm.ManagedAccounts.ManagedAccount)
		{
            $username = $account.username
            $password = $account.Password
            $password = ConvertTo-SecureString "$password" -AsPlaintext -Force 
			# The following was suggested by Matthias Einig (http://www.codeplex.com/site/users/view/matein78)
			# And inspired by http://todd-carter.com/post/2010/05/03/Give-your-Application-Pool-Accounts-A-Profile.aspx & http://blog.brainlitter.com/archive/2010/06/08/how-to-revolve-event-id-1511-windows-cannot-find-the-local-profile-on-windows-server-2008.aspx
	        Try
			{
				Write-Host -ForegroundColor White " - Creating local profile for $username..." -NoNewline
				$credAccount = New-Object System.Management.Automation.PsCredential $username,$password
				$ManagedAccountDomain,$ManagedAccountUser = $username -Split "\\"
				# Add managed account to local admins (very) temporarily so it can log in and create its profile
	    		If (!($LocalAdmins -contains $ManagedAccountUser))
				{
					$builtinAdminGroup = Get-AdministratorsGroup
                    ([ADSI]"WinNT://$env:COMPUTERNAME/$builtinAdminGroup,group").Add("WinNT://$ManagedAccountDomain/$ManagedAccountUser")
				}
				Else
				{
					$AlreadyAdmin = $true
				}
				# Spawn a command window using the managed account's credentials, create the profile, and exit immediately
				Start-Process -WorkingDirectory "$env:SYSTEMROOT\System32\" -FilePath "cmd.exe" -ArgumentList "/C" -LoadUserProfile -NoNewWindow -Credential $credAccount
				# Remove managed account from local admins unless it was already there
                $builtinAdminGroup = Get-AdministratorsGroup
	    		If (-not $AlreadyAdmin) {([ADSI]"WinNT://$env:COMPUTERNAME/$builtinAdminGroup,group").Remove("WinNT://$ManagedAccountDomain/$ManagedAccountUser")}
				Write-Host -BackgroundColor Blue -ForegroundColor Black "Done."
			}

Now What

Now I sit back and relax as the circle of life has been completed and this is one less bit of code to write today. Thanks to Sean, Todd Carter, matein78 and of course brianlala for writing AutoSPInstaller and adding this patch!

References:
Sean Wallbridge (my boss):
http://blog.brainlitter.com/2010/06/08/how-to-resolve-event-id-1511windows-cannot-find-the-local-profile-on-windows-server-2008/

AutoSPInstaller:
http://autospinstaller.codeplex.com

Todd Carter:
http://www.todd-carter.com/post/2010/05/03/give-your-application-pool-accounts-a-profile/

Visual Studio 2010 – The project type is not supported by this installation.

I came back to a VS 2010 C# SharePoint project after a while and found it wouldn’t open the project.

The error: The project type is not supported by this installation.

This error generally means that the project type you are trying to open is not supported in that Visual Studio Installation. :) Reasons this situation could come about is an improper sequence of Visual Studio add-on installs/patching, or simply having built the project on one VS install and opening it on another.

Solutions:

1. Check whether the VS2010 product you installed supports web development

Please see:
For VS2010 Express products:
http://www.microsoft.com/express/Charts/VisualStudio-Express-2010-Feature-Chart.aspx

For VS1010 retail products:
http://www.microsoft.com/visualstudio/en-us/products
(Expand the node of “Product Feature”)

2. If you’re running VS2010 retail products
..like Professional edition, Premium Edition, check Help Menu > About Microsoft Visual Studio > Installed products? Please check whether “Microsoft Visual Web Developer 2010″ has been installed properly.

3. Delete the
If those 2 steps fail to yield a result, do what I did – open the Visual Studio project file .csproj for example in notepad, remove the values in the node, save and open again.

So, (in my project), I deleted the GUID values from the following node:

<ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{14822709-B5A1-4724-98CA-57A101D1B079};{FBE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

so it became:

<ProjectTypeGuids></ProjectTypeGuids>

..save the file and open project again in Visual Studio. Project subsequently works.

GovDev for TFS 2010 – Agile Development for Government

Project Description
Microsoft Team Foundation Server (TFS) 2010 is the collaboration platform at the core of Microsoft’s application lifecycle management solution. In addition to core features like source control, build automation and work-item tracking, TFS enables teams to align projects with industry processes such as Agile, Scrum and CMMi via the use of customable XML Process Templates.

Since 2005, TFS has been a welcomed addition to the Microsoft developer tool line-up by Government Agencies of all sizes and missions. However, many government development teams consistently struggle with leveraging an iterative development process all while providing the structure, visibility and status reporting that is required by many Government, waterfall-centric, project methodologies.

GovDev is an open source, TFS Process Template that combines the formality of CMMi/Waterfall with the flexibility of Agile/Iterative.

http://govdevfortfs.codeplex.com/

Traditional Agile Waterfall

Core Problem to Address
- Software planning & delivery is rigid and based on outdated Waterfall process.
- Software development teams desire Agile but planning & delivery framework does not match.

Secondary Problems to Address
-Due to Waterfall roots, reports such as “Requirements Traceability Matrix” are desired.
-Government projects highly leverage contractors and need new ways to measure work contribution.

The GovDev Process Workflow

The GovDev Methodology

Requirements Traceability Report

Requirements Traceability Report

Contributions by Team Member

Contributions by Team Member

Open Source – Download at http://govdevfortfs.codeplex.com
Built by Microsoft PubSec Developer Team (http://blogs.msdn.com/publicsector)
Built for TFS 2010; SP1
—————————————————————-
Comments and Questions: http://govdevfortfs.codeplex.com/workitem/list/basic
For Training & Support, contact CEI America: www.ceiamerica.com/solutions/microsoft.aspx

Incoming search terms:

CKS Dev New Release 2.4 – Content Type With Event Receiver and Web Template SPI

This project extends the Visual Studio 2010 SharePoint project system with advanced templates and tools. Using these extensions you will be able to find relevant information from your SharePoint environments without leaving Visual Studio. You will have greater productivity while developing SharePoint components and you will have greater deployment capabilities on your local SharePoint installation.

What’s new in this release new-star.png

The current 2.4 release includes the following features:

  • Content Type With Event Receiver SPI – New Content Type with Event Receiver project item template.
  • Web Template SPI – New Web Template project item template.

Download CKSDev

This CodePlex site serves as the place to get project news and source code. The extensions themselves are distributed through the Visual Studio Gallery. You have direct access to the Visual Studio Gallery from within the Extension Manager. For installation instructions see the Installation Guide. Never miss an update again, with direct update notification from the Visual Studio Gallery when we publish a new version.

Which version should I download?

If you are using SharePoint Foundation 2010 then download and install the SharePoint Foundation 2010 version

If you are using SharePoint Server 2010 then download and install the SharePoint Server 2010 version

Features

This project provides extensions to four core areas; Environment, Exploration, Content and Deployment. Enhancements to the Visual Studio environment include the new SharePoint References tab available on the Add Reference dialog, allowing you to easily reference any SharePoint assembly without searching the file system or GAC for it. Exploration extends the new SharePoint Explorer with advanced information about SharePoint sites such as the installed Web Parts and Master Pages or the Feature dependencies and elements. Also included in the Explorer are a variety of import functions to bring existing SharePoint items into your active solution. The Content area includes advanced templates such as Linq to SharePoint, Custom Action or Delegate Control. Project templates include the SharePoint Full Trust Proxy and the SharePoint Console Application. Our enhanced Deployment functions give you the ability to utilise quick deployment and almost a dozen other productivity enhancing deployment steps, including automated deployment (per file on change deployment) Find the complete overview of all the CKS Development Tools Edition features on the Documentation tab.

With the release of Microsoft’s excellent Visual Studio 2010 SharePoint Power Tools the CKSDev team have retired the Sandboxed Visual web part item template. for more information read Wouter’s blog

Recent Comments

  • ChristopheD

    Hi Keith
    Sorry for the late answer but I had some urgent problems to solve.
    It’s ok now the feature has been removed and there is no more message.
    thanks a lot for your help and time.

  • Keith Tuomi

    Don’t worry, I often am unable to wrap my head around SharePoint too. ;)

    It really does sound like what you need a is Workflow. A workflow let’s you perform business logic like you described – check out the getting started guide at http://msdn.microsoft.com/en-us/library/office/jj163917(v=office.15).aspx. SharePoint includes Workflow out of the box, all you need to do to get started is download a free copy of SharePoint Designer.

Follow me on Twitter