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.
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.
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
Here’s a quick round up of our four top picks for getting your SharePoint Development going on in the cloud. Why develop in the cloud instead of perhaps using a local dedicated or virtual development environment? Here’s ten reasons:
1. Scalable Add as many machines as you need. 2. Open and Flexible Choose development platform and programming model. 3. Secure Secure and durable technology platform with industry-recognized certifications and audits. 4. Fast Deployment Time Deploy applications without waiting for hardware to arrive. 5. Highly Available Highly reliable services and multiple fault-tolerant Availability Zones. 6. Quickly Adjust to Business Change: Running SharePoint in the Cloud allows you to add capacity as needed, without long lead time. You can easily scale up, or down, as business demands change. Stay ahead of the curve by adjusting capacity in minutes and hours, not days or weeks. 7. No New Hardware to Buy: All four options offer low, pay-as-you-go pricing, which eliminates hardware acquisition costs and allows you to pay only for the capacity you need. We do all of the hardware management, so you can focus on higher-value activities than replacing hard drives. 8. Shift Capital Expense to Operating Expense: While reducing both. You no longer need to plan, procure, manage, and depreciate your IT infrastructure. You can replace large up-front expenses with more predictable costs that scale with your business. 9. Utilize Existing Skills and Software: Leverage your existing investments in IT skills and software assets, enabling your company to roll out new applications more quickly.
10. Low Cost Pay only for cloud resources used.
SharePoint Development on Office 365
Use an Office 365 Developer Site as a development and testing environment to shorten your setup time and start creating, testing, and deploying your apps for Office and SharePoint. Deploy the “Napa” Office 365 Development Tools to this preconfigured SharePoint site and you also get a head start on developing SharePoint-hosted apps, and apps for Office documents and mail items, without installing Visual Studio 2012 and Office Developer Tools for Visual Studio 2012 on your development computer. With an Office 365 Developer Site, you get an isolated app domain for SharePoint-hosted apps, preconfigured to use OAuth, so that you can use the Windows Azure Access Control Service (ACS) for authenticating and authorizing provider-hosted apps for SharePoint that are deployed to this site.
Microsoft SharePoint Server provides rich deployment flexibility, which can help organizations determine the right deployment scenarios to align with their business needs and objectives. Hosted and managed in the cloud, the Windows Azure Virtual Machines offering provides complete, reliable, and available infrastructure to support various on-demand application and database workloads, such as Microsoft SQL Server and SharePoint deployments.
While Windows Azure Virtual Machines support multiple workloads, this paper focuses on SharePoint deployments. Windows Azure Virtual Machines enable organizations to create and manage their SharePoint infrastructure quickly—provisioning and accessing nearly any host universally. It allows full control and management over processors, RAM, CPU ranges, and other resources of SharePoint virtual machines (VMs).
Windows Azure Virtual Machines mitigate the need for hardware, so organizations can turn attention from handling high upfront cost and complexity to building and managing infrastructure at scale. This means that they can innovate, experiment, and iterate in hours—as opposed to days and weeks with traditional deployments.
The following is required to complete this step-by-step guide:
A Windows Azure subscription with the Virtual Machines Preview enabled. DO IT: Sign up for a FREE Trial of Windows AzureNOTE: When activating your FREE Trial for Windows Azure, you will be prompted for credit card information. This information is used only to validate your identity and your credit card will not be charged, unless you explicitly convert your FREE Trial account to a paid subscription at a later point in time.
This step-by-step guide assumes that the reader is already somewhat familiar with configuring Windows Server Active Directory, SQL Server and SharePoint Server in an on-premise installation. This guide focuses on the unique aspects associated with configuring these components on the Windows Azure cloud platform.
Amazon EC2 running Windows Server is a secure and dependable environment for customers to deploy Microsoft SharePoint quickly and cost effectively. The Microsoft License Mobility through Software Assurance program allows Microsoft volume license customers to use their existing Windows Server applications licenses, including SharePoint Server, on AWS without paying any additional Microsoft licensing fees. Take advantage of the benefits that the AWS Cloud offers such as pay-as-you-go pricing, scalability, and data integrity to run your SharePoint workloads today.
The Get Started section below has more detail about all of the available technologies and resources for Microsoft on AWS, including pricing, documentation, whitepapers, templates and sample code. If you have questions about SharePoint on AWS please visit the FAQ page for more info.
CloudShare provides an unmatched solution for SharePoint development and testing. Build a single server or multi-server SharePoint farm in minutes. With a few clicks, you can collaborate with other developers, demo for prospects, and deploy your solution to a production farm.
Explore the full functionality of SharePoint
Develop on virtual machines with sole server administration access
Select from development templates pre-configured with Visual Studio, Office, and various versions of SharePoint
Leverage tools including Team Foundation Server to store your solution code
Share your SharePoint solution across your organization
Each of these services has it’s strong points. With Microsoft’s Azure offering now set to price match against Amazon AWS, things are really heating up. CloudShare is an fantastic company with a super-simple deployment model - it’s possibly the simplest way to roll out a new development scenario. Office 365 is rock solid, if you don’t need to actually manipulate server-side stuff and are focused on the Apps model. I’m always interested to hear from other developers on their experiences with these different offerings.
I love me some All-in-one-Code Framework. Concise, useful, organized examples of code from Microsoft’ers that help you paddle fast enough to keep up with ye olde wave of acronyms. They are responsive and community-oriented; if you request an example and there is a need for it, they will probably publish it for you. I have posted previously about the effort here , which was focused on the Codeplex project and desktop application.
They now have a Windows App for exploring the latest updates:
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..
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
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.
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.
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:
Deletes the Team Project from Team Foundation. To use this command, you must bea member of either the Team Foundation Server Administrators group or a member of the Project Administrators group for the project you are deleting. Use this command with caution because after deleting the team project it cannot be recovered.
[/q] – Do not prompt for confirmation. [/force] – Continue even if some data cannot be deleted. [/excludewss] – Exclude the project’s SharePoint site when deleting the project. This option will leave site intact so that it remains for other projects that may be using it. /collection:<url> – The url for a Team Project Collection. <team project name> – The name of the project. Use quotes if there are spacesin the name.
The Team Foundation Server Power Tools for Visual Studio is a free add-on for VS 2010. If you are planning on or are currently working with TFS 2010, this is a must-have:
A plug-in to Visual Studio, Alerts Explorer provides a graphical user interface that supports flexible subscription of alerts based on check-in, work item change, or build completion.
Team Foundation Server Backups
The tool can schedule backups for the following databases that your deployment of Team Foundation Server uses:
the configuration database
the database for each team project collection
the databases that Team Foundation Server uses in conjunction with SharePoint Products, if your deployment includes integration with SharePoint Products
the databases that Team Foundation Server uses in conjunction with SQL Server Reporting Services, if your deployment includes reports
By using the restore wizard included with this tool, you can restore your entire deployment to new hardware, or selectively restore team project collections to an earlier point in time.
Microsoft Team Foundation Server 2010 Best Practices Analyzer
To launch the Microsoft Team Foundation Server 2010 Best Practices Analyzer, click Start, point to All Programs, point to Microsoft Team Foundation Server 2010 Power Tools, point to Microsoft Visual Studio Best Practices Analyzer, and then click TfsBpa.exe.
Updated! A diagnostic tool with a graphical user interface that you can use to perform the following actions:
Verify that the deployment for Team Foundation Server is configured according to recommended best practices
Identify the source of problems in an unhealthy deployment.
Take a snapshot of the configuration of a deployment.
Obtain usage data about the volume of data stored or accessed in the past 14 days. Includes specific information about database tables that have a tendency to grow and that may need to be reduced in size.
Custom Check-in Policy Pack
A supplemental set of four custom check-in policies to use to enforce software development practices during the check-in process.
An add-in to the Tools menu, the Process Editor provides a graphical user interface for editing Team Foundation Server process templates inside the Visual Studio IDE. This tool also provides a GUI for viewing the values assigned to all fields defined in a project collection.
Team Explorer Enhancements
Updated! This tool provides additional Visual Studio menu options and functions to support finding files under version control by status or wildcard, opening a folder using Windows Explorer from the Source Control Explorer context menu, and labeling files and folders in Source Control Explorer. New in this release is the ability to easily search for work items and be able to easily rollback changes in version control.
Team Foundation Power Tool (TFPT.EXE) Tool
Updated! A command line tool that you can use to work with files and directories under version control, team projects, and work items. Some commands display a graphical user interface when run.
An add-in to Team Explorer, this tool allows you to organize users into sub-teams and access a number of collaborative tools, such as IM and email, sharing of queries and links, and downloading and installation of custom Team Foundation components.
Windows PowerShell Cmdlets for Visual Studio Team System Team Foundation Server
This tool provides a Windows PowerShell interface that supports basic version control commands and a pipeline and glue to enable scripting.
Windows Shell Extensions
Updated! This tool provides integration with Windows Explorer and the common file dialogs. With this integration, you can perform many source control operations without having to run Visual Studio or a Team Foundation command-line tool.
Work Item Templates
This tool provides an add-in to the Team menu and a folder under each team project node in Team Explorer. With this tool, you can create, apply, capture, set, and organize default work item templates.
Test Attachment Cleaner
With the introduction of Visual Studio Test Professional 2010 & Visual Studio Premium/Ultimate 2010, testers can author manual and automated Test cases, configure the different diagnostic data collectors (as part of Test Settings), associate the Test Settings with Test Plan/Suites and then execute these test cases as part of Test Runs. The execution of a Test Run (whether automated or manual) generates a bunch of diagnostic data, which may be captured either automatically by the system or manually by the tester. This diagnostic data is critical in eliminating the “no repro” bug scenarios between the testers and developers. However, the downside of this rich diagnostic data captures is that the system/user generated diagnostic data, over a period of time, can grow at a rapid pace and start taking up database space.
In Visual Studio 2010, the database administrator has little or no control over what data gets attached as part of Test Runs. For example, she has no policy settings to limit the size of the data capture, or how long to hold the data before initiating a cleanup. The “Test Attachment Cleaner” addresses these issues by:
Determining which set of diagnostic captures is taking up how much space AND
Reclaiming the space for runs which are no longer relevant from business perspective.