VS2005 IDE Client with web projects driving me nuts

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

VS2005 IDE Client with web projects driving me nuts

Post by ismangil » Fri Dec 23, 2005 5:32 am

Vault 3.1.1

OK, back in the old days of VS2003, I heard that SCC API sucks, Vault IDE client not told what VS2003 was doing etc. "It's gonna be better in VS2005" was the mantra.

In VS2005 Beta 2 worrying signs are there, in web projects. They've completely overhauled web projects, unfortunately they seem to forgot that web projects uses source control as well... \bin directories was not being ignored was the big thing. "It's gonna be fixed on release" we were told.

So yesterday I installed VS2005 Team Edition for Software Developer (a bit too long for a title, isn't it... but I digress...). This is the release version. After a few hiccups unrelated to Vault (Note to self: don't trust beta uninstallers), I can load my solution. Straight to web projects. Now \bin and the referenced dlls in them are ignored. Confirmed that they don't appear in the GUI Client changelist and the "Pending checkins" box. A sigh of relief....

Then I noticed a little innocent "plus" sign on the referenced dll. Clicked on it. Oh, there's a file associated with the dll... it's a dll.refresh file... but there's an alarming yellow plus icon that means it's a newly added file to source control....

Arrrrgggg :evil: :x it is not ignoring the refresh file and it's going to be added to Vault!

Please tell me the definitive way of using web projects in VS2005 with Vault IDE client...

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Fri Dec 23, 2005 6:30 am

Apparently if you use "Project" references, it does not need the refresh file, so everything is fine. It's only when you use direct dll references. Which we use here. Exclusively. A lot. :cry:

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Fri Dec 23, 2005 9:53 am

This is all Visual Studio, so the only advice we can give is:

1) See MS's new guide to converting web projects:
http://msdn.microsoft.com/library/defau ... tsvs05.asp

2) Add your vote to the bin folder bug here:
http://lab.msdn.microsoft.com/productfe ... 91d7e1e2d1

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Sun Dec 25, 2005 4:44 am

dan wrote:This is all Visual Studio, so the only advice we can give is:

1) See MS's new guide to converting web projects:
http://msdn.microsoft.com/library/defau ... tsvs05.asp
Unfortunately this is a brand new project created within VS2005 itself... so not a conversion issue.
dan wrote: 2) Add your vote to the bin folder bug here:
http://lab.msdn.microsoft.com/productfe ... 91d7e1e2d1
Technically that bug is not exactly the same, as they seem to have fixed the dll and pdb checkin. But I voted for it anyway... I have entered another more precise bug :
http://lab.msdn.microsoft.com/productfe ... efb0ec1db5 Please vote for it :)

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Tue Dec 27, 2005 11:24 am

I tried to vote on this, but there was a post from MS that they couldn't reproduce the error. I'd suggest providing them with some samples so they can reproduce it.

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Wed Dec 28, 2005 4:42 am

dan wrote:I tried to vote on this, but there was a post from MS that they couldn't reproduce the error. I'd suggest providing them with some samples so they can reproduce it.
I don't know what good it would to do send a solution bound to my Vault server here. Or maybe it doesn't happen with SourceSafe or any other source control? Let's try if SourceGear can repro this. I'm sure you have access to at least a working SourceSafe installation. See attached screenshot. Notice how the refresh file is about to be added.

Steps to achieve the screenshot:

1. Create an empty working directory TestWSVS2005.
2. Web share it as TestWSVS2005. (This is so I can use http method to be as close to VS2003 as possible)
3. In VS2005 (I am using Team Edition Software Developer), create a new ASP.NET Web service project, selecting http as the method, pointing to http://localhost/TestWSVS2005. This should then populate the working directory above.
4. File->Source Control->Add Web site to Source Control. The relevant files will be in source control. So far so good.
5. Now try adding a reference to an external assembly dll, I used log4net in this sample. VS2005 then will proceed to creata bin folder, put the dll in there and a refresh file. The dll and its associated xml doc file seems to be ignored by source control, which is correct. But the refresh file is detected as new file.

If I commit the pending checkin, I can confirm that in Vault there will be a Bin folder with one log4net.dll.refresh file.
Attachments
vs2005bug.JPG
VS2005 Screenshot
vs2005bug.JPG (114.19 KiB) Viewed 9739 times

Tonya
Posts: 897
Joined: Thu Jan 20, 2005 1:47 pm
Location: SourceGear

Post by Tonya » Tue Jan 03, 2006 11:59 am

I don't know what good it would to do send a solution bound to my Vault server here. Or maybe it doesn't happen with SourceSafe or any other source control? Let's try if SourceGear can repro this. I'm sure you have access to at least a working SourceSafe installation.
I have confirmed this problem does exists using other source code control applications. I have tested the same scenario using VSS 2005 and the issue still appears.

Please let me know if there's anything else that we can do.

Thanks,

Tonya Nunn
SourceGear Support

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Wed Jan 11, 2006 4:12 am

Tonya, thanks for the repro. Can you now please vote and validate the bug: http://lab.msdn.microsoft.com/ProductFe ... efb0ec1db5 maybe adding comment (if you can, it never seems to work for me on other bugs I am tracking!) that VSS is also affected.

Tonya
Posts: 897
Joined: Thu Jan 20, 2005 1:47 pm
Location: SourceGear

Post by Tonya » Wed Jan 11, 2006 11:21 am

I have officially voted and validated this bug on the website that you requested. I also added comments explaining that the problem exists with multiple source code control applications including Visual SourceSafe.

Hopefully this problem will get resolved for you soon.

Tonya

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Thu Jan 12, 2006 6:07 am

Thanks again!

There is now a workaround: dump the web site model and use the Visual Studio 2005 Web Application Project model instead. I have verified that it fixes the references issue. No more bin folders in your source control!

Tonya
Posts: 897
Joined: Thu Jan 20, 2005 1:47 pm
Location: SourceGear

Post by Tonya » Thu Jan 12, 2006 10:55 am

Thanks for letting us know. This will allow us to make other users aware of this work around if they are experiencing the same problem.

Tonya

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Fri Jan 13, 2006 3:28 am

Ah, got the "it's not a bug it's a feature" reply:
Thank you for your feedback. This is actually by design. If you are using source control, you do not want to store dynamically changing files such as a dll or pdb file. However, the refresh file contains information on where to get the dll and pdb, and should be saved. BTW, the presence of a refresh file indicates that the dll and pdb is dynamic and can change. If you do not have a refresh file, this indicates the dll and pdb are not dynamic. In this case, the dll and pdb *will* be checked into source control.
-Mike-
The explanation makes sense, but that makes me hate the Web Site model even more. They didn't seem to think about the implication of the Web Site model for source controlled project. If you looked at the original bug on this and similar issue when it was uncovered in VS2005 Beta 2, originally it was going to be ignored in the original Nov release!

Ah well, I'm happy now because they've acknowledged the need for web application model.

Locked