This blog post describes how to create a Visual Studio 2010 project and solution for an installation of the Sitecore ASP.NET Web CMS. The Presentation Component Reference on the Sitecore Developer Network contains the same instructions for Visual Studio 2008 and 2005.
Update 1.October.2010: Definitely read the comments on this blog, Sean's blog, and the comments on Sean's blog.
In Visual Studio 2010, to create a project and solution for a Sitecore installation:
At some point (such as when you build), Visual Studio will prompt you to create a solution for the project.
Update 1.October.2010: You might also want to read another post in on this blog, Simplify Visual Studio Project Creation.
Ehh select .NET Framework 4? From which Sitecore version is this supported?
John, I argue that this isn't the "best" way to work. My post is too long for a comment so I made a blog post out of it. seankearney.com/.../Visual-Studio-Projects-and-Sitecore.aspx
Per: I think Sitecore 6.4 will support .NET 4. I suggest selecting .NET 4 because for me, the Empty ASP.NET Web Application project doesn't seem to exist for other versions, so I would have to use ASP.NET Web Application for those versions instead. If I select .NET 2.0, I have to remove /Scripts and /Default.aspx from the project, and if I select .NET 3.5, I also have to remove /Account, /Style, /About.aspx, /Default.aspx, /Global.asax, and /Site.Master. I noted that you have to update the framework version for the project afterwards. I had neglected to mention that this approach requires you to remove the Microsoft.CSharp reference after you change the .NET version. Sean: I commented on your blog. It sounds like you use the same project model and most of the same instructions, but just keep the code elsewhere?
John, yes the main issue I have is where the project/solution should reside. The steps you outline for creating the solution/project are sound. Sorry for the confusion.
when I run default.aspx from VStudio (using integrated server port), I get Exception Details: System.Security.Cryptography.CryptographicException: The parameter is incorrect. What could be the issue?
You would normally attach to the ASP.NET worker process instead of debugging a specific default.aspx. See how to debug here and post again if you still have the same issue: sdn.sitecore.net/.../Presentation Component Cookbook.aspx
I followed these instructions and I have my VS project built. I can access SiteCore in Desktop mode but if I want to preview or I want to access in Page Edit mode I get a 403 error. Could it be that Visual Studio has changed permissions to the website files?
@Fer Fer: I have never seen anything like that, but I suppose it is possible. You might get this type of result for configuration or other types of issues that you might not recognize as 403 conditions, such as a corrupt cookie, session, browser cache entry or browser configuration, etc. See en.wikipedia.org/.../HTTP_403 These applications worked before you attempted to debug? Had they worked after you last compiled? Did you make any other change to the configuration after installation? Did you use the setup.exe, or .zip? Install any modules? I would suggest posting here, and including these and any other relevant details: sdn.sitecore.net/.../ShowForum.aspx
@John: Thanks for your feedback. It was actually my mistake. Some how I deleted default.aspx. Luckily I could restore it from the recycle bin. I am all set!!
For the Exception Details: System.Security.Cryptography.CryptographicException: To fix this right click on project and set Target Framework to .NET 3.5
Hi John, Is it necessary to keep sitecore website folder and project folder in same directory. Can we keep 2 things in different drive, i.e when sitecore install we will install in c drive and when create visual studio project in d Drive ? If Yes then How can we do ?. and Is it necessary to keep same name both(sitecore folder name as well as project name). If No, how we map 2 or 3 project in one sitecore instance ?
@Mrutyunjaya: I think you can create the project in any directory. The name of the directory that contains the project does not matter, but the directory structure within that project (/bin, /layouts, /xsl, etc.) should match that within the Sitecore installation subdirectory (/Website) - see seankearney.com/.../Visual-Studio-Projects-and-Sitecore.aspx. I don't think there is anything Sitecore-specific to worry about here, but you need to ensure that you copy the files (.dll, .aspx, .ascx, .xslt, .css, .js, etc.) from your project to the document root. There is a syntax to automate this operation with Visual Studio project files (Chapter 8 of http://sitecorebook.com has one example), but you could also use www.hhogdev.com/.../Overview.aspx.
Hi John , Thank you for your reply. Sitecore website folder(sitecore installation) is on remote server. How can I connect from sitecore website to my local Project without using TDS.How does RemoteSitecore point to my only specific sitecore project. Is there any specific instance we have to attach ?. I have sitecore ECommerce1 and Ecommerce2 Project on my local server. While I am working on Ecommerce2 , How does common sitecore website(from Remote server) connect to My Ecommerce2. Thank you
@Mrutyunjaya: Sorry, that is beyond my knowledge of Visual Studio and IIS. I always run Sitecore locally. Unless I misunderstand, I would try to research this as an IIS/Visual Studio issue rather than as something specific to SItecore. But I would first try to run Sitecore locally, and I would definitely consider TDS.
I have come to completely agree with Sean that the advantages of keeping the project outside of the document root outweigh the advantages of keeping it within the document root. I use a solution like this to copy files from my projects (which I could store anywhere, but store in c:\inetpub\sitecore\projects) to the IIS instances (which I store under c:\inetpub\sitecore) after building: www.sitecore.net/.../Automatically-Copy-Files-from-an-MVC-Project-a-Sitecore-ASPNET-CMS-Solution.aspx