views:

6626

answers:

4

I'm using VisualSVN client and server and one of the requirements for web projects to work as expected is to have the .sln in the same directory (root) as the other files.

I thought it was as simple as removing all the extra parent paths ../ and other relative paths and saving it. However when I try to open it just locks up Visual Studio.

Is there a standard way to create this type of solution file or a solution file tool to help make sure it is valid? Or am I just missing something very obvious?

/
/MyWebsite.org.sln
/Images
/App_Data
/default.aspx
/default.aspx.cs

So apparently the trick, at least the one I was seeking is that you must use ..\MyWebsite.org or whatever the folder that contains the website files.

[EDIT] What I learned and my final .sln file for this particular project:

Here is the final Solution file that allowed me to open the website and have the .sln in the root of the web folder.

Project("{E24C65DC-7377-472B-9ABA-BCSG3B73C61A}") = "MyWebsite.org", "\", "{F8F4E96F-40BF-4374-B8BA-968D0SGG4A9E}"
    ProjectSection(WebsiteProperties) = preProject
     TargetFramework = "3.5"
     Debug.AspNetCompiler.VirtualPath = "/MyWebsite.org"
     Debug.AspNetCompiler.PhysicalPath = "..\MyWebsite.org\"
     Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\MyWebsite.org\"
     Debug.AspNetCompiler.Updateable = "true"
     Debug.AspNetCompiler.ForceOverwrite = "true"
     Debug.AspNetCompiler.FixedNames = "false"
     Debug.AspNetCompiler.Debug = "True"
     Release.AspNetCompiler.VirtualPath = "/MyWebsite.org"
     Release.AspNetCompiler.PhysicalPath = "..\MyWebsite.org\"
     Release.AspNetCompiler.TargetPath = "PrecompiledWeb\MyWebsite.org\"
     Release.AspNetCompiler.Updateable = "true"
     Release.AspNetCompiler.ForceOverwrite = "true"
     Release.AspNetCompiler.FixedNames = "false"
     Release.AspNetCompiler.Debug = "False"
     VWDPort = "1603"
     VWDDynamicPort = "false"
     VWDVirtualPath = "/"
    EndProjectSection
EndProject
+4  A: 

the following steps should work.

  1. make a blank solution, nothing in it.
  2. Move the solution to where you want the web project to live.
  3. Open the solution.
  4. Create the web project in the desired area.

I often do this sort of moving around so that projects will sit nicely in svn. Don't forget to svn:ignore the *.suo files.

Jeremy B.
Oops, Dang! Beat me to the same answer. Sorry!
AJ
+4  A: 

Generally what I do is start with a Blank Solution, which is under "Other Project Types-->Visual Studio Solutions" in the New Project dialog. Then, add the website and whatever other projects you need to the solution.

AJ
This is by far the best way to solve this problem! It's graceful and predictable and doesn't require any hocus-pocus.
rp
+4  A: 

THe other option is when you create the project simply uncheck the default box for "create directory for solution"

Mitchel Sellers
just tried this and it worked. you can also hand edit the SLN as I did and as someone else suggested. But this is the best Answer.
Brian Boatright
+2  A: 

Create the solution, close it, put the files where you want them, and edit the sln.

tsilb