Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I had installed sharepoint 2013 foundation, sql server 2012 in Windows Server 2012 operating system in virtual machine.

I need to setup development environment for sharepoint 2013. Can any one help me on what I have to install apart from that.

I have some questions like

Where does the Visual studio 2012 has to be installed ( either in the client or in server VM)? What components I have to install? Do I need to Install Sharepoint Designer?

Kindly help me out on these.

Cheers!

share|improve this question

2 Answers

here is how to Set up the development environment for SharePoint 2013 from Microsoft site

regarding other questions :

  • yes you have to install visual studio 2012 on server VM to be able to develop sharepoint components and debug them
  • you may install sharepoint designer if you want to edit in pages and master pages to add css styles and client script code. no need to install sharepoint designer on server it may be installed on any machine
share|improve this answer
 
@Farahat Many Thanks for your reply. I have one question here. Can we develop web parts, apps and other development stuff in client machine(i mean other machines apart from vm server). If we install VS2012 in VM Server, how can multiple persons can develop webparts and other stuff if it is installed in server. I heared that only one user can access server is it true.? –  565 Jun 5 at 9:18
 
@565 to develop webparts using vs2012 sharepoint must be installed on the local machine . developers can work on their local machines then integrate their work on one single server (get .wsp file form each developer and integrate them on one server) –  Mahmoud Farahat Jun 5 at 9:31
 
@Farahat Thanks for your response. Then in that case do we again want to install VS2012 both in client and VM server? Awaiting for your valuable reply. –  565 Jun 5 at 10:09
 
@565 vs2012 must be installed on any machine you want to develop webparts on it , but not necessary to install it on integration server –  Mahmoud Farahat Jun 5 at 10:14

Mahmoud Farahat is right you have to install Visual Studio on the same machine that has SharePoint installed on it also to ensure all the SharePoint specific dlls are registered in the GAC.

From SP2013 Microsoft no longer allow installing SP on anything other than Windows 2012 and 2008R2. 2010 did let you install it on Windows 7 which I imagine is what your development locals are running as or at least some version of Windows desktop OS. You had to change a config setting to be able to do this, you can look this up but isn't relevant anymore as it can't be done. I've installed SP2010 on my local laptop and it takes a powerful machine and makes it run dreadfully for everything. Using the local machine for development in my opinion is just not practical as SharePoint is just so power hungry. I have had 2010 running as locally hosted VMs on Virtual Box and this work reasonably well so is a possibility for each developer to have a Virtual Machine locally. Our IT didn't like the idea of hosting servers on the corporate domain anywhere other than centrally, so wasn't an option for us, but if allowed in your policies then would work fine.

So our 2013 development environment which I setup is hosted on a powerful single server farm, i.e. App, Web & DB all on one virtual server (acceptable for dev). We are running multiple developer connections to a single SharePoint development server via Remote Desktop. Ensure you have multiple RDP sessions enabled in group policy, http://technet.microsoft.com/en-us/library/cc784146(v=ws.10).aspx. This server has SP2013, VS2012 and SPD installed on it oh and IIS8 (Windows 2012).

It's possible to both develop on the same Web Application (SharePoint speak for ISS application pools) but you can only debug one session at a time because devenv.exe (Visual Studio) attaches to the w3ps.exe (IIS application pool) to be able to deploy, install and activate each of your developed features (more SP talk). So once one developer has attached to the Web Application to debug anyone else will get an error that the process already had a debugger attached.

There are two solutions, take turns at debugging, this works but in even a small team of two (can't get any smaller) this is a big handicap and especially when launching the debugger can take a couple of minutes even on a powerful server. So what is the other option? Well you have to create a process for each developer to connect to individually. This relates to Web Applications in SharePoint. You can achieve all of this through Central Administration but if you have a number of developers doing this in the GUI can be a bit boring for an Administrator. So to achieve the same result via a script execute the following code in PowerShell:

Add-PsSnapin Microsoft.SharePoint.PowerShell

New-SPWebApplication -ApplicationPool "SharePoint – DEV1" -Name "SharePoint – DEV1" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 81 
New-SPWebApplication -ApplicationPool "SharePoint – DEV2" -Name "SharePoint – DEV2" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 82

New-SPSite -Url http://yourspservername:81/sites/YourSiteName -Name YourProjectNameDev -Description "Developer1’s Development team site for Your Project" -OwnerAlias yourdomain\developer1.username -Template "STS#0"
New-SPSite -Url http:// yourspservername:82/sites/ YourSiteName  -Name YourProjectNameDev -Description "Developer2’s Development team site for Your Project" -OwnerAlias yourdomain\developer2.username -Template "STS#0"

Remove-PsSnapin Microsoft.SharePoint.PowerShell

This assumes your using NTLM authentication and have a read through of http://technet.microsoft.com/en-us/library/ff607931.aspx to ensure you have the correct parameters specified for your environment for the command New-SPWebApplication. The code as is will also create a Content database with a guid suffix which you may not be as clear so specify if you want.

This creates a SiteCollection for each developer and a site based on Team Site template for each developer. Copy each line individual line for more developers.

We have kept the default created Web Collection on port 80 for the collaborative site where we deploy all our Features onto for a final combination testing.

Each developer needs to edit their Project properties in Visual Studio to have their Site URL properties match their individually assigned Port.

Be careful when combining the projects in your Source control as this property will be specified in the csproj file and each developer will post their own port number into the repository.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.