FIX: Visual Studio .NET 2002 breaks Visual SourceSafe integration behavior (319997)



The information in this article applies to:

  • Microsoft Visual Studio .NET (2002), Professional Edition
  • Microsoft Visual SourceSafe for Windows 6.0

This article was previously published under Q319997

SYMPTOMS

The Visual Source Safe (VSS) integration behavior in Visual Studio .NET 2002 is different from that in Visual InterDev 6 (VID6). In VID6, the files are always automatically checked out when they are copied and pasted into the IDE if the targets already exist and are replaced by the source. In Visual Studio .NET, this is not the case.

NOTE: Always use the Get Latest Version command for the whole project before you add files or check in changes from the Visual Studio .NET IDE.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft Visual Studio .NET. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

837234 List of bugs that are fixed in Visual Studio .NET 2002 Service Pack 1

Hotfix information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date          Time    Version      Size        File name
   -----------------------------------------------------------------------
   25-Jul-2002   19:35   7.0.9522.0     917,504   Csproj.dll
   25-Jul-2002   19:15   7.0.9522.0     311,296   Dirprj.dll
   25-Jul-2002   19:29   7.0.9522.0   1,400,832   Msvbprj.dll
   25-Jul-2002   16:07   7.0.9522.0     253,952   Visualstudioteamcore.dll
   25-Jul-2002   19:33   7.0.9522.0   2,981,888   Vsscc.dll
   25-Jul-2002   08:39   7.0.9522.0     176,128   Csprojui.dll
   25-Jul-2002   08:38   7.0.9522.0     180,224   Msvbprjui.dll
				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Visual Studio .NET 2002 Service Pack 1.

MORE INFORMATION

Steps to reproduce the behavior

On a computer that has Visual Studio .NET, VID6 and VSS6, installed, follow the steps for each program set.

VID6 and VSS6

  1. Create a blank solution named test.
  2. Add two Web projects to the solution; name them source and target.
  3. Add six Web pages (1.asp, 2.asp, 3.asp, 4.asp, 5.asp, and 6.asp) to the project named source.
  4. Add four Web pages (1.asp, 2.asp, 3.asp, and 4.asp) to the project named target.
  5. Set the solution and the two Web projects under VSS control, so that you have three different VSS projects in the VSS database: $/test, $/source.VI6, and $/target.VI6.
  6. Set the status of the files as follows:
    items | Source-Project | Target-Project 
    -------------------------------------------
    1.asp | CheckedOut     | CheckedOut 
    2.asp | CheckedOut     | CheckedIn 
    3.asp | CheckedIn      | CheckedOut 
    4.asp | CheckedIn      | CheckedIn 
    5.asp | CheckedOut     | (not existing) 
    6.asp | CheckedIn      | (not existing) 
    						
    This chart lists all relevant combinations for the status of your two projects before you use the IDE Copy or Paste operations.
  7. In the VID6 project explorer, click to select all six asp pages in the source project, right-click the selection, and then click Copy.
  8. In the VID6 project explorer, right-click the target project, and then click Paste.
  9. The result is the following:
    items | Source-Project | Target-Project  
                           | before Paste   | after Paste 
    ------------------------------------------------------
    1.asp | CheckedOut     | CheckedOut     | CheckedOut 
    2.asp | CheckedOut     | CheckedIn      | CheckedOut 
    3.asp | CheckedIn      | CheckedOut     | CheckedOut 
    4.asp | CheckedIn      | CheckedIn      | CheckedOut 
    5.asp | CheckedOut     | (not existing) | CheckedOut 
    6.asp | CheckedIn      | (not existing) | CheckedIn 
    					

Visual Studio .NET and VSS6

Follow the steps in the "VID6 and VSS6" section. The result after the Paste operation appears as follows:
items | Source-Project | Target-Project 
                       | before Paste   | after Paste
--------------------------------------------------------------
1.asp | CheckedOut     | CheckedOut     | CheckedOut
2.asp | CheckedOut     | CheckedIn      | CheckedIn
3.asp | CheckedIn      | CheckedOut     | CheckedOut
4.asp | CheckedIn      | CheckedIn      | CheckedIn
5.asp | CheckedOut     | (not existing) | CheckedOut
6.asp | CheckedIn      | (not existing) | CheckedOut
				
When you use VID6, the Copy operation always results in a CheckedOut file status if the target already exists and is replaced by the source. If the target does not exist, the status of the source does not change.

When you use Visual Studio .NET, the result is different. The status of the target file remains as it was before the Paste operation if the file already exists in target, and the status of the target is always CheckedOut if the file does not exist in the target before the Paste operation.

Modification Type:MinorLast Reviewed:1/20/2006
Keywords:kbvs2005doesnotapply kbvs2005swept kbHotfixServer kbvs2002sp1fix kbvs2002sp1sweep kbbug kbfix kbQFE KB319997 kbAudDeveloper