VS.NET + SourceSafe 的几点

Posted on 2004-05-13 10:56  kevin  阅读(2171)  评论(2编辑  收藏  举报

从VS签入解决方案,包含若干个项目(类库、Web项目、Win项目……),签出副本的时候(从服务器、或本人的PC)会发生这种情况:
1,我们希望所有的项目都在同一个,我们指定的文件夹下,可 SourceSafe就是不听话,
        要么签出到 以前的工作目录(Win项目、类库);
        要么到wwwroot下(Web项目),
        但很奇怪,SourceSafe偶尔也会签出几个项目到指定的目录。
 呵呵,好像是不可预料的。
2,某个项目不能签出,说“已被卸载”;
3,某个项目签出后,被标记为“不受源代码管理”的红勾,而不是蓝色小锁;

摸索出的几个注意点:
1。签出之前,修改SourceSafe中解决方案的WorkingFolder(在SourceSafe中修改),使其与“欲签出的目录”一致;——项目的WorkingFolder经常会记录你以前签入时、修改时的目录,重新签出副本的时候,注意修改它;
2。为使项目不签出的wwwroot下有两种办法:
          在“欲签出的目录”下新建 该Web项目的文件夹,并新建IIS中的与Web项目同名的虚拟目录;
          先让SourceSafe签出到wwwroot下,再剪切到“欲签出的目录”下,然后修改IIS(必要时可能需修改解决方案中的项目路径);
3。签出之前,修改“解决方案”文件(***.sln),直接在SourceSafe中修改,将项目的绝对路径改为相对路径。VS.NET从源代码管理打开时使用的是 ***.sln中的绝对路径,发现相对路径,才根据WorkingFolder签出;
如:——将下面的红色代码去掉
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JsjappModule", "D:\MyProject\JsjApp\JsjappModule\JsjappModule.csproj", "{CD825D54-B059-4D49-A28E-9F6E9E387BBF}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
4。签出后发现有些项目不受管理、或项目中的文件不受管理、已被卸载:有可能是因为SourceSafe的管理文件(*.*scc)出了问题,或者解决方案文件(*.sln)和项目文件(*.csproj、*.csproj.webinfo)有冲突,或者上传的时候没有传入这些文件;
   可以将全部解决方案(如果是项目不受管理)、或全部项目(如果是项目中文件不受管理)签出-保存-再全部签入。

Copyright © 2024 kevin
Powered by .NET 8.0 on Kubernetes