The project I'm working on uses a .NET Solution file, and multiple C# projects. The IDE is Visual Studio 2012, and Perforce is used for source control. The .sln
and .csproj
files contain the SCC binding information, for example, for .csproj files:
<SccProjectName>Perforce Project</SccProjectName>
<SccLocalPath>..</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>MSSCCI:Perforce SCM</SccProvider>
... and the .sln file:
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 43
SccLocalPath0 = .
SccProjectUniqueName1 = AnotherProj\\AnotherProj.csproj
SccLocalPath1 = .
SccProjectFilePathRelativizedFromConnection1 = AnotherProj\\
SccProjectUniqueName2 = MyProj\u0020Domain\\MyProj\u0020Domain.csproj
SccLocalPath2 = .
SccProjectFilePathRelativizedFromConnection2 = MyProj\u0020Domain\\
... etc ...
According to Perforce, there's a process for migrating from P4SCC to P4VS:
Migrating from P4SCC to P4VS To migrate your solutions and projects from P4SCC, the Perforce SCC Plug-in, to P4VS, you must do the following: 1. Strip the bindings from the solution (.sln) file and all of the project files (csproj, vcxproj, etc.). 2. Remove MSSCCPROJ.SCC and other source-control-specific files. 3. Move all developers to P4VS and have them uninstall the old P4SCC plug-in. For detailed instructions, see www.perforce.com/perforce/doc.current/user/p4vs_p4scc_migration.txt.
However, due to the testing status of the project, these files may not be modified. Further, some developers prefer to use P4SCC.
Whilst I understand that the official process is that the projects and solution be migrated (from P4SCC) to use P4VS, I do remember reading a comment online (for which I don't have a link) where someone asserted that he was able to use both together without modifying the project files.
Is it possible to do this without having to change the Source Control provider upon each start-up, and click through a series of warning/error messages about mismatched bindings? If so, how?
Sorry, this is not possible. It is possible to have both P4VS and P4SCC installed and used with different projects, but individual projects must be bound to a single source control provider.