Microsoft KB Archive/319997

= FIX: Visual Studio .NET 2002 breaks Visual SourceSafe integration behavior =

Article ID: 319997

Article Last Modified on 1/20/2006

-

APPLIES TO


 * Microsoft Visual Studio .NET 2002 Professional Edition
 * Microsoft Visual SourceSafe 6.0 Standard Edition

-



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.



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 &quot;Applies to&quot; section. This problem was first corrected in Visual Studio .NET 2002 Service Pack 1.



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
 Create a blank solution named test. Add two Web projects to the solution; name them source and target. Add six Web pages (1.asp, 2.asp, 3.asp, 4.asp, 5.asp, and 6.asp) to the project named source. Add four Web pages (1.asp, 2.asp, 3.asp, and 4.asp) to the project named target. 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.</li>  Set the status of the files as follows: <pre class="fixed_text">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. </li> In the VID6 project explorer, click to select all six asp pages in the source project, right-click the selection, and then click Copy.</li> In the VID6 project explorer, right-click the target project, and then click Paste.</li>  The result is the following: <pre class="fixed_text">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 </li></ol>

Visual Studio .NET and VSS6
Follow the steps in the &quot;VID6 and VSS6&quot; section. The result after the Paste operation appears as follows: <pre class="fixed_text">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.

Keywords: kbbug kbfix kbqfe kbvs2002sp1sweep kbvs2002sp1fix kbhotfixserver kbvs2005swept kbvs2005doesnotapply KB319997

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.