Sharepoint tools support in Visual Studio


Today, developers can use Visual Studio 2005 or Visual Studio 2008 to develop solutions for Microsoft Office SharePoint Server 2007 (MOSS) and Windows SharePoint Services 3.0 (WSS).  In addition to the features in VS 2005 and VS 2008, developers can also use Visual Studio Extensions for WSS and dozens of third party tools. 


 



In Visual Studio 2010, we’re going to expand Sharepoint support in two key areas.  First, Visual Studio 2010 will deliver a broad set of project templates, designers, and deployment infrastructure that will make any .NET developer instantly more productive on the SharePoint platform.   Second, we are exposing an extensibility API that will continue to foster the ecosystem of third party developers who create development tools and technologies.



Visual Studio 2010 will come with a broad set of project and items templates.  You’ll be able to use these to quickly create or update SharePoint elements such as list definitions, list instances, site definitions, workflows, event receivers, Business Data Catalog models, and content types.


 



In Visual Studio 2008, the supported workflow projects could be created only for lists and document libraries. In Visual Studio 2010, you’ll be able to create list and site level workflows as well as create aspx association and initiation forms.  And, as you would expect, the new Visual Studio 2010 designers can be used to create Web Parts, application pages, and user controls for a SharePoint site (see screenshot, below.)




SharepointApplicationPage 



Of course, you get all the benefits that you would expect while developing in Visual Studio such as full support for code debugging, Intellisense, and statement completion.  The WSP Importer enables you to quickly import existing SharePoint content and project wizards simplify solution development. For example, the wizard for Event Receivers allows you to simply select the events you want to handle and it will generate the necessary code and XML for you.  And, you will be able to quickly navigate and browse your Sharepoint site directly in Visual Studio with use the Server Explorer (see screenshot, below.)


 


ServerExplorer



 


Visual Studio 2010 provides a rich set of project templates and tools that developers can use to create custom SharePoint solutions. Although these SharePoint projects and tools work well for many application development scenarios, there are times when different or new functionality is needed. In these cases, you can adapt the SharePoint projects and tools in Visual Studio by using a new Visual Studio extensibility API. The API will let you create new SharePoint project items, automate and extend existing SharePoint project items, enhance deployment and retraction functionality, and extend the display and actions of SharePoint nodes in Server Explorer.



If you’d like to learn even more, you might check out Reza Chitsaz on Channel 9.


 


 




Namaste!


Comments (84)

  1. Jeremy Thake says:

    The community have collaborating on ‘the ultimate sharepoint development tool’, not sure if you’ve seen this:

    <a href="http://www.sharepointdevwiki.com/display/public/The+Ultimate+SharePoint+Development+Tool">http://www.sharepointdevwiki.com/display/public/The+Ultimate+SharePoint+Development+Tool</a&gt;

    The community have also put together a comparison on what development tools are out there with their pros and cons:

    <a href="http://www.sharepointdevwiki.com/display/public/Solution+package+development+tool+comparisons">http://www.sharepointdevwiki.com/display/public/Solution+package+development+tool+comparisons</a&gt;

    There is discussion at the moment about fusing STSDev and WSPBuilder together, but it’s early days…

    Looking forward to see the next beta of VS2010 to have a play with this!

  2. This is awesome news for those of us that develop heavily in SharePoint.

  3. mesan says:

    Doesn’t microsoft pay you enough?  Drop the ads on your blog.  I understand ads on some housewife’s blog where she’s just trying to make ends meet, but ads on a high paid microsoft executive?  Give me a break – the economy can’t be that bad.  It just smells of someone using their corporate position of authority for personal gain (outside of their normal salary).

    Lose the ads.

  4. @mesan

    Ads? Where?  I can’t find any using IE or FF (all adblockers disabled).

  5. Somasegar says:

    Hi Mesan,

    I have mentioned this a couple of times before.  There is no personal gain here.  Any and all proceeds from this go directly to a non-profit organization.

    -somasegar

  6. Finally some good tools for Office System developers,

    next in line should be Dynamics CRM ….

  7. Thomas Goddard says:

    Thank you Somasegar!  I am very excited to see that the developer division at Microsoft is taking SharePoint under its wings.  The web form designers and user controls are super critical.  The ability to specify custom actions when the forms are submitted is also very important.  

    Please open the tools development and feature list to the public so the SharePoint team and you can get some much needed detail and feedback on what works and what needs tweaking.

    This spans beyond office system in my opinion.  SharePoint is not used as a starter kit for most blogs or wikis today because its just not entirely solid as an internet facing deployment.  Hopefully this deep Visual Studio integration will foster some new innovation like people find in Moodle, Drupal, and other CMS / social Networking platforms.

    The other major pitfall in my opinion is the web services API in SharePoint is very poorly documented and near impossible to code with.  I hope we see a standard SOAP based API, with entity documentation, deployment tools, and solution accelerators like we see in Microsoft Dynamics CRM.

  8. Soma posted on the new SharePoint and Visual Studio integration coming in the next release of Visual

  9. Kris says:

    Does it need to be installed on a system with Sharepoint to get it to work? Say for instance our development environment is Vista, can I use to develop and then deploy to W2K3 or W2K8?

    Thanks.

  10. Soma posted on the new SharePoint and Visual Studio integration coming in the next release of Visual

  11. Jay says:

    Hi Kris,

    Yes, Visual Studio and SharePoint need to be installed on the same machine for development.  Currently SharePoint only supports installation on server operating system versions.

  12. Una herramienta clave en el mundo del desarrollo para SharePoint son las extensiones de Visual Studio

  13. Paul Andrew says:

    This week we released an updated CTP of VSeWSS 1.3 here . Let us know your feedback on the Connect Site

  14. Michael A. Vickers says:

    Does this mean we can ditch SharePoint Designer?

  15. mavickers says:

    Does this mean we can ditch SharePoint Designer?

  16. Thomas Goddard says:

    Kris,  you have a totally valid question.  I always wonder why I need to install SharePoint on the machine that I’m developing on.  Haven’t we sort of realized by now that 99 percent of the time we’re deploying to a shared development server.  This is yet another area where SharePoint falls down when compared to simple things such as Visual Studio Express web edition.  

    SharePoint Visual Studio development should behave like SharePoint designer development, no SharePoint required.  It’s just ridiculuous to force developers to edit masterpages for their server on their local systems.  I really don’t understand the paradox.  I’m editing my masterpages and content via visual studio for a remote system (like I would in sharepoint designer) but I have to have SharePoint installed locally?  Soma, can you explain this rational?

  17. Understanding SharePoint: List Forms « SharePoint Internals – Hristo Pavlov’s Blog Custom code with SharePoint

  18. En el pasado evento de MAD.NUG, hice un comentario a los asistentes acerca de mi personal visi&oacute;n

  19. Soma posts on the awesome SharePoint developer support in Visual Studio 2010.&#160; It’s almost cruel,

  20. Greg Galipeau says:

    Thanks for the post Somasegar. I have a couple of questions though.

    1. Is this just and advanced version of VSeWSS built into Visual Studio? If so, are we still going to be restricted to work with the available templates? Or, are we going to get a more 12 hive like structure such as we get when we use tools like WSPBuilder? The reason for this question is that VSeWSS is way too constricting for advanced SharePoint developers. So, I am hoping we will be able to do whatever we want with this.

    2. Is this going to work like SharePoint Designer (i.e: make the changes directly against the site)? Or, is this going to build an actual WSP? I hope it builds wsp for us.

    Thanks,

    Greg

  21. Thomas Goddard says:

    Greg,  I hope it does both.  WSP is important but so is improving the overall experience for advanced developers editing forms and getting at the core databinding in forms, which is seriously lacking in SharePoint Designer.  Compare creating a form in SharePoint designer with creating one in Visual Studio Express Web edition and you’ll see what I say’n.

  22. Jay says:

    Hi Greg,

    The extensibility API can be used to create new project/item templates or further customize the templates we provide in Visual Studio to meet your needs.  So you won’t be limited to the set of templates we ship with Visual Studio.  The project structure will still be organized around the custom features you are working with, not a more physical structure.

    Visual Studio will build WSPs for deploying your customizations to the SharePoint server.  As Soma mentions in his post we will provide a designer within Visual Studio for customizing the WSP we build.

    Thanks

  23. Jay says:

    Hi Thomas (and Kris),

    The ability to develop against a remote SharePoint server is a request we’ve heard and something we looked into when we started the VS2010 product cycle.  I’ll try to briefly explain why we’re not able to support it in VS2010.  

    To achieve the level of scalability SharePoint needs, SharePoint is architected to use one web application to serve many individual sites.  That’s great for SharePoint’s abiltiy to scale, bad for Visual Studio’s ability to debug an individual site or customization without adversely affecting other sites or developers using a shared server.  In the extreme case, when stopped on a breakpoint in a custom web part for example the site could appear frozen to another developer working in a different area of the site or different site that happens to be part of the same web application.  

    Addressing that behavior was not something we could accomplish in this product cycle.  So we decided it was better to limit our support to the more predictable local development experience.

    We’re also investing in the ALM experience to better support teams of developers working together on a SharePoint solution (source code control, VSTS team build, etc.). Those investments should make it significantly easier to collaborate on a SharePoint solution, publish the solution to test or staging environments, etc.

    Thanks

  24. Thomas Goddard says:

    Jay, thank you for the reply.  What you are saying does make sense but please listen.  It’s just a bit frustrating to hear Microsoft talk about "service oriented architecture", "web services", "developing in the cloud" when the endpoints and APIs in SharePoint are a little more than archaic.  The Microsoft CRM web services are well documented, have predictable schemas, and generally allows developers to decouple development from the server itself.  Hopefully the VS team brings some of that surprise and delight to the SharePoint development process.

    I understand what you mean with a shared development scenario having resource contention issues but the serious showstopper and probably #1 reason that we don’t see many folks using SharePoint as a platform is that its web service endpoints and remote development, not just talking about debugging, but actually calling the lists and using the platform requires developers to form up XML requests, parse XML responses, and work with some not so well documented endpoints.  There’s much needed  in terms of abstraction, documentation, and updates to the process so that developers feel like they can dive into a SharePoint project with confidence.

    If the VS team provided an SDK that basically wrapped all of the SharePoint web service calls in a nice documented proxy library, there would be a huge amount of adoption and tooling on top of SharePoint today.  The platform has a lot of potential as a backing store or an "in the cloud" architecture but it’s just too much work to persist to it or get data from it with the tools that are available for developers today.

    SharePoint Designer tries to provide the tool that hardcore developers need but is targeting the business users that are probably just doing simple things like content updates or edit the look or feel.  So there are some key areas of Designer that could be pushed into the Visual Studio tools, the server explorer is the tip of the iceberg but we need things like editing master pages, creating new forms, data binding, and doing this with a direct connection to the SharePoint server to see data being bound like in SharePoint designer.  

    It just doesn’t look to me like the issue is in improving developer collaboration but actually investing in the tools that are expected to work out of the box, creating standard schemas and endpoints that use .NET technologies like SOAP Web Services, entity framework, or WCF.  Most people I know just want to develop on SharePoint in a way that’s familiar, much like the experience that Microsoft CRM, WPF, or even the Facebook Developer Toolkit has been able to provide.

    Sorry for the long rants.  Somasegar knows =)

  25. So we are all hoping that you can do more and design more in Visual Studio 2010 than you can now. It

  26. Jay says:

    Hi Thomas,

    I hear your feedback on the opportunity to make it easier to retrieve and persist data in SharePoint.  That is an area we are also working on, unfortunately we are not in a position to talk about the specifics yet.

    Please don’t take my comments to mean that we don’t think the remote SharePoint development scenarios are valuable.  I was just trying to give you some insight into why we haven’t enabled them in the VS2010 release.

    Thanks

  27. Nach längerer Zeit mal wieder ein paar Linktipps im Blog (müsste jetzt eigentlich Teetasse heißen) –

  28. Top News Stories Microsoft Visual Studio to Boost SharePoint (InfoWorld) Developers building solutions

  29. SharePoint developers who write software for Microsoft Office SharePoint Server or Windows SharePoint

  30. Somasegar has posted a short (30 second read) of what to expect in Visual Studio 2010 in terms of SharePoint

  31. John Saunders says:

    If you must continue to require SharePoint to be installed on the same machine as Visual Studio, then the SharePoint team need to teach SharePoint to be installable on a client OS. It is a major showstopper to require us to buy a server OS license for every developer!

    It is also very hard to convince Management that Microsoft is serious about SharePoint as a platform when your premier toolset (Visual Studio Team System) and ALM tool (TFS) do not support automated builds of SharePoint projects.

    Still, thanks for the news, I suppose. More nice features that cannot be used in the same way as other Visual Studio project types.

    "Integrated Development Environment" needs to imply integrated developer experience. Too bad it doesn’t.

  32. Somasegar says:

    Hi John,

    Thanks for the feedback.  Both of your pieces of feedback are good and is something that the teams are looking at.

    -somasegar

  33. Julia says:

    Hi John,

    The SharePoint tools support in Visual Studio 2010 will have full TFS support including automated builds of SharePoint projects.

    Thanks.

  34. John Saunders says:

    Thanks, Soma and Julia, for responding.

    Julia, it’s great to hear that. Has anyone written about the details of this new feature? In particular, I wonder if we will need to have SharePoint installed on all of our build machines.

    I can’t wait to try it out – and to provide constructive feedback…

  35. Publicación del inglés original : Jueves, de febrero de 2009 a las 11:24 AM PST por Somasegar Hoy en

  36. Some really great news for SharePoint developers along the tools front. Check out Soma’s blog for a good

  37. SharePoint developers who write software for Microsoft Office SharePoint Server or Windows SharePoint

  38. According to Soma Somasegar, senior vice president SharePoint developers who write software for Microsoft

  39. Why should I, as a custom workflow developer, care about VS 2010 if SharePoint 2010 won’t be using the new WF 4.0 engine as the basis for MOSS 2010 workflows?  WF 4.0 looks exciting (based on the PDC 2008 videos).  Too bad MOSS 2010 won’t be using WF 4.0 as the underlying technology for workflows.  That’s a major ‘disconnect’ between the WF team and the MOSS team in my book.  I’m looking forward to VS 2010+n and MOSS 2010+n to get ‘the real MOSS workflow design tooling’ that takes full advantage of WF 4.x.

  40. Kosher says:

    Fred Morrison,

    Thank you for point this out!  That is very disappointing.  It always seems that the SharePoint team is reluctant to adopt any sort of new .NET technology.  They’ve been isolated from the .NET progress for so long that the product suffers.  Somasegar, I listened to your radio show about how your division and the SharePoint division at Microsoft were completely disconnected.  I understand that a lot of this is probably out of your hands at this point but isn’t there anything you can do to help the SharePoint crew see the light?  SharePoint seems to be playing a bit of catchup with every release but never seems to be on point like the Expression, .NET, Dynamics, and other core teams at MS.  Not to sound too harsh but this is just how it looks from the outside looking in.

  41. I have to agree with the other comments regarding SharePoint development. We all have MSDN licenses at my company, but our infrastructure team has the draconian policy of not allowing us to install server on our desktop, even if it is virtual. This means we all end up remoting into remote VM DEV servers and fighting over resources.

    Being able to debug remotely would help with part of this problem. Even better would be some kind of stripped down version of SharePoint for XP that we could program against.

  42. Somasegar says:

    Thanks John.  This is good feedback and the sharepoint team knows this is an issue they need to work through.

    -somasegar

  43. Along the lines of what John said, I long for something like the forthcoming Azure "local Cloud" that would be part of Visual Studio to allow us to remotely develop and debug SharePoint applications (workflows being my top request) on inexpensive desktop operating systems with full support for team development.  SharePoint Express anyone?

  44. prasadsm says:

    Hi Soma Sir,

    While developing a Sharepoint StateMachine WF using the project template in the In VS 2008+ Win2k8/64 bit server, it throws  an error "object reference not set to an instance of an object ".So we are unable to develop a StateMachine WF and associate a SPList /doclib to the WF,in the Win2008_64 bit dev server.

    Will this issue is going to be resolved in VS 2010 ??

    Because of this issue we were forced to use WIN2K3 server as a Dev server.

    Or is there any hotfix is going to be released to  address this issue??    

    Thnx

    Prasad punneri

  45. Liza_Magic says:

    Как все-таки заглянуть в свое будущее? Ну очень нужно!

  46. I had an opportunity to meet the MVPs this week! Unlike last year, when I missed the summit altogether

  47. Как все-таки заглянуть в свое будущее? Ну очень нужно!

  48. Mike says:

    Hello Prasad,

    Thanks for your feedback. With Visual Studio running in a 32-bit process and SharePoint in a 64-bit process, the solution to this issue is complex. We understand this is a problem when developing SharePoint 2007 workflows on 64-bit machines and we are investigating how we could address it.  

    Thanks again,

    Mike

  49. VodilaBig says:

    Как все-таки заглянуть в свое будущее? Ну очень нужно!

  50. Infofenok says:

    Hi,

    Just joined today,

    I’m from Latvia.

    Btw this place is so great

    http://boy.arbitrageconspiracys.com/

  51. hoickingoliof says:

    Хочу поделиться историей, которая недавно произошла со знакомым, который лишился серьезной суммы денег. Может у кого-то был аналогичный случай?

    Так это обычно случается. Идете вы по улице. К вам идет тот или иной человек (часто он имеет спецом подозрительный вид), выуживает какие-то деньги и что-то принимается вам толковать. Ну, вы-то умный, ведаете, что деньги на улице выменивать не следует, да и вообще, не стоит даже в тары-бары вступать со различными странными типами. Проходите мимо. Враз к вам подлетают двое в штатском, тащат с собой этого типа, открывают вам какое-то удостоверение и притворяются сотрудниками иностранной службы безопасности.

    (Ну разуметься, удостоверение смотри-не смотри – ничего вы там не расчухаете. Когда вам у нас-то милиционер демонстрирует удостоверение, вы и то не отличите взаправдашнее от недорогой подделки. А тут – иностранное!). Говорят вам: "Предъявите бумаги". Показываете паспорт. Могут строгим голосом задать вам еще пару каких-нибудь вопросов (готовят психологически). Потом спрашивают: "Вы меняли деньги у этого человека? Мы видели, как он шел к вам!" Вы говорите: "Нет, не менял!" Лже-полицейские говорят: "Мы, все же, обязаны проверить! Покажите, пожалуйста, ваши деньги". Вот главный миг. Продемонстрировали деньги – считайте, утратили весомую их часть. Пока один смотрит деньги, другой вас на момент оторвет каким-то вопросом или, к примеру, неожиданно резко заломает руку этому "подозрительному типу" так, что тот вскрикнет. В этот миг ваши денежки будут замещены или элементарно большая их часть будет изъята.

    Может кто-то слышал про подобные разводки?

  52. Brad says:

    For those asking for the ability to install sharepoint on client OS, for developers to use, you can already have have that now:

    Follow the links below.  This works and I have been using for awhile.  Just as viable now is to use virtual PC and set up a virtual server with MOSS and all your development tools.  With this you can develop on your own personal virtual server…and as an extra bonus you could share a base copy of this setup with other developers so you all use the same MOSS setup for development (but make sure they’re all licensed to use).

    Links for installing MOSS on Vista

    How to install Windows SharePoint Services 3.0 SP1 on Vista x64/x86

    http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/05/21/how-to-install-windows-sharepoint-services-3-0-sp1-on-vista-x64-x86.aspx

    Installer

    http://community.bamboosolutions.com/media/p/193.aspx

    Note:  They say this will work on XP to, but remember MOSS uses multiple IIS webs (CA, SSP, your sites, etc) and IIS on XP only runs web at a time. You’d have to make sure to stop all webs except for the one you need to run.

    And yes, I agree, this should have already been an ability of sharepoint OOTB for the sake of development just as with IIS, SQL Server and many of the other "server" products.

  53. Paul Andrew says:

    We have worked hard to listen and respond to the feedback from SharePoint Developers on VSeWSS. After

  54. Quelques nouveauté en vrac pour ce mois ci (ou presque) : VseWSS 1.3 – La CTP de mars pour les extensions

  55. Quelques nouveauté en vrac pour ce mois ci (ou presque) : VseWSS 1.3 – La CTP de mars pour les extensions

  56. "…as well as create aspx association and initiation forms."

    Conspicuously absent from the above is any mention of:

    1. Task forms.

    2. Modification forms.

    When will that type of support be a part of Visual Studio?  VS 2010? VS 2013? Later?

  57. admin says:

    Thanks for posting this!

  58. SharePoint Designer No it’s not an April fools joke and yes as of April 2, 2009, SharePoint Designer

  59. PP says:

    Bigger & crispier image would be appreciated…

  60. Somasegar says:

    Thanks PP.  We have updated the links to go to full-size images when you click on them.  Hope that helps.  

    -somasegar

  61. I get a lot of questions about the future.&#160; When will Visual Studio release? &#160; First half of

  62. En una lista de noticias publicables sobre la nueva version de Sharepoint (nombre oficial Sharepoint

  63. Der Fr&#252;hling erwacht und es dringen nach und nach immer mehr Informationen zu den neuen Versionen

  64. Endlich, mit der neuen Version von Visual Studio werden auch SharePoint-Entwickler ber&#252;cksichtigt!

  65. Endlich, mit der neuen Version von Visual Studio werden auch SharePoint-Entwickler ber&#252;cksichtigt

  66. Der Fr&#252;hling erwacht und es dringen nach und nach immer mehr Informationen zu den neuen Versionen

  67. Marcel says:

    I think you should focus in improving the existing features, rather than add new ones. I wonder if MS conducted a survey of what features are most needed as it is pointless to add new features that are  used only by a small group of programmers. The existing features provides a lot of flexibility to build apps for most projects: I am a long time user of VC++ 6.0 and I still discover new features with this wonderful IDE every once in a while and covers all my needs in C++ software development.

  68. good news, We successfully implemented sharepoint solution in backoffice

  69. Allan says:

    What is the outlook of using Visual Studio 2010 with SharePoint 2007? Does it integrate well or is it designed more with SharePoint 2010 in mind?

  70. Himadrish says:

    This is just an idea about the SharePoint development phase. I understand there are some design issues to implement remotely debugging and deployment of SharePoint solution.

    My approach is to develop some kind of SharePoint environment in VS.NET. Still now, we need WIN 2003 OS in development box . Can we implement some virtual environment, might be something like SharePoint Project TEMPLATE in Visual Studio.

    Basically when developer will choose this project template (like ASP.NET web application in VS.NET), it will actually attached the required DLL and other stuff to have a test SharePoint site.  Developer can able debug the SharePoint project in team site while hit F5 (like temporary ASP.NET web site is created).  It would then help developers to work with VS.Net on VISTA or XP client.

    Another approach is, if it is possible to have Team site running in client OS. At least one or two type of sites able to run for testing and integration.

  71. Greg Hart says:

    Just installed VS2010 Beta on Server 2008.  Went to create a new project, but under templates, c#, SharePoint, there were no templates listed.

    Thoughts?

  72. phuff says:

    Greg, SharePoint tooling isn’t part of VS2010 Beta 1, but look for it in Beta 2!

    Polita Paulus

    Developer Division

    Microsoft

  73. Greg says:

    Awesome!  Thanks for the update.

  74. Peruri says:

    I have just installed vs2010 beta 2 on a SharePoint 2010 beta 1 server (available through TAP). When tried to create a  SharePoint 2010 c# empty sharepoint project, it is saying SharePoint is not installed.?

    Should I do anything else to make Visual Studio recognize that SharePoint 2010 is installed?

  75. Jay says:

    Peruri,

    The Visual Studio 2010 Beta 2 support for SharePoint requires a more recent build of SharePoint 2010.  When the next beta of SharePoint 2010 is released, the Visual Studio tool support will begin working.  Keep an eye on http://sharepoint.microsoft.com/Pages/Default.aspx for updates on the release of the next SharePoint 2010 beta.

    Thanks

    Jay

  76. Dave says:

    So Visual Studio and MOSS 2010 are out. What a surprise, zero support for MOSS 2007 in Visual Studio 2010. I'll tell all my clients to upgrade MOSS right away shall I.

  77. who says:

    What is Namaste? Is this English or we should google it 🙂

  78. Somasegar says:

    Hi,

    I would rather you Bing :).

    Namaste is a commonly used work for greeting or salutation in India.

    -somasegar

  79. Alexander says:

    Nice freeware tool for SharePoint developers:

    HarePoint Explorer for SharePoint – it is object model browser with scripting.

    http://www.harepoint.com/…/Default.aspx