I've seen several posts related in some manner to this topic, but not one
exactly addressing this issue, so here goes.
I am working with Visual Studio 2005 (VB.NET), and have created a solution in
which I have created several projects. One project is a WinForms application
that uses a web service for database connectivity. Another project in the same
solution is the aforementioned web service. This web service was originally
created as a web site using the internal web server, but was since re-created as
an "ASP.NET Web Service Application", using the old style file
structure with .vbproj file, etc. (see SP1). I have IIS on my development
workstation, and have set the project properties to use IIS as opposed to the
internal web server.
The entire solution is integrated with VSS, including the .sln file, all .vbproj
files, etc.
I would expect Visual Studio to understand this structure. However, something
is amiss. Whenever I open the solution with Visual Studio, it INSISTS on
opening and editing the .sln file and re-writing the entry for the web service.
This is especially surprising since it is modifying the .sln file without even
checking it out from VSS first! It makes an in-memory change to it. The
changes appear to consist of the following:
.sln snippet before:
Project("") =
"BudgetPrepWebService",
"BudgetPrepWebService\BudgetPrepWebService.vbproj",
""
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
.sln snippet after:
Project("") =
"BudgetPrepWebService",
"BudgetPrepWebService\BudgetPrepWebService.vbproj",
""
ProjectSection(WebsiteProperties) = preProject
SccProjectName =
""$/VisualStudio2005/BudgetPrep/BudgetPrepSolution",
ILGEAAAA"
SccAuxPath = ""
SccLocalPath = ".."
SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
VWDPort = "2763"
EndProjectSection
EndProject
As you can see, it is adding some nonsense about source control, and is also
assigning a VWDPort number, all of which should be totally unnecessary, since I
am using IIS, and already have sufficient source control info elsewhere. There
is obviously still some property somewhere suggesting that the web service is a
web site.
This is totally heinous and aggregious for the following reason: If the .sln
file is "checked in" when I open the application with VS2005, then
VS2005 makes an in-memory change (but doesn't check out the file), then when I
attempt to exit VS2005, I get the dreaded "Check out on save" dialogue
box. I have limited choices: 1. I can abandon the changes, or 2. can have
VS2005 check out the file, save the changes, and then close without checking the
file back in, thereby leaving it checked out. If I then manually check the file
back in, I will face the exact same scenario when I next visit the application
with VS2005. This is because, even after saving this stuff to the solution file
once, it thereafter insists on saving it yet again EVERY TIME.
This might seem a minor inconvenience perhaps, until you consider what happens
when another developer wants to open my solution and work on the applciation.
They are faced with one of two scenarios: 1. a solution file that is perpetually
checked out by another user, or 2. the same scenarion as above.
I have created a new test solution to do some experiments with, and when
creating a web service for the very first time with the "ASP.NET Web
Service Application" template, I don't get this problem.
Can anyone shed some light here?
|