使用 Visual Stidio®.NET 和 Visual SourceSafe
TM
进行团队开发
使用Visual Studio®.NET和Visual
SourceSafe
TM
进行团队开发
本文档中所包含的信息,包括URL和其它互联网站点参考资料,随时都会在不作知会
的情况下发生改变。除非额外的说明,此处用以举例的公司、机构、产品、域名、e-mail地
址、商标、人物、地点和事件纯属虚构,与任意一个实际存在的公司、机构、产品、域名、
e-mail地址、商标、人物、地点或事件没有任何联系,不适于作任何推论或联想。遵守所有
有关的著作权法规是使用者应承担的责任。在不限制著作权所规定的权利的前提下,如果
没有微软公司明确的书面许可,本文档的任何部分不允许复制、存储或者引入到任一检索
系统中,或者以任何形式或方法(包括电子的、机械的、影印的、录音带及其它途径)进
行传播,而不管出于何种目的。
微软、MS-DOS、Windows、Visual C#、Visual Basic、Visual C++、Visual Studio和
Win32是微软公司在美国及其它国家的贸易商标或者注册商标。
© 2002微软公司版权所有。
版本号1.0
此处提到的其它产品和公司名可能是其各自所有者的商标。
- 1 -
使用 Visual Stidio®.NET 和 Visual SourceSafe
TM
进行团队开发
目 录
目 录....................................................................................................................................................2
绪言.....................................................................................................................................................1
谁需要阅读本手册.....................................................................................................................1
您需要知道什么.........................................................................................................................1
术语.............................................................................................................................................2
系统.....................................................................................................................................2
内部系统和外部系统的分界线.........................................................................................2
解决方案.............................................................................................................................2
项目.....................................................................................................................................3
第一章 介绍团队环境........................................................................................................................4
团队开发服务器和工作站.........................................................................................................5
VSS 服务器.................................................................................................................................5
构建服务器.................................................................................................................................5
开发工作站.................................................................................................................................5
数据库服务器.............................................................................................................................5
Web 服务器.................................................................................................................................6
第二章 ASP.NET 网络应用软件开发模型.......................................................................................7
隔离模型.....................................................................................................................................7
半隔离模型.................................................................................................................................7
不隔离模型.................................................................................................................................7
使用隔离开发模型.....................................................................................................................8
避免采用半隔离和不隔离开发模型.........................................................................................8
更多信息.....................................................................................................................................9
第三章 构造解决方案和项目..........................................................................................................10
Visual Studio .NET 解决方案和项目......................................................................................10
Visual Studio .NET 项目..................................................................................................10
Visual Studio .NET 解决方案..........................................................................................10
解决方案和编译连接依存关系.......................................................................................11
服从源码控制的文件.......................................................................................................11
不服从源码控制的文件...................................................................................................12
始终使用 Visual Studio .NET 作源码控制操作.............................................................12
划分解决方案和项目...............................................................................................................12
尽可能使用单解决方案模型...........................................................................................13
对于较大的系统,考虑使用分块单解决方案模型......................................................14
仅在绝对必要的情况下使用多解决方案模型..............................................................15
考虑将项目组合成解决方案...........................................................................................16
在解决方案和项目中使用一个统一的文件夹结构..............................................................16
- 2 -
使用 Visual Stidio®.NET 和 Visual SourceSafe
TM
进行团队开发
定义一个通用的根文件夹...............................................................................................17
在解决方案和项目中采用“父-子”文件夹结构............................................................17
如何创建一个新的 ASP.NET 网络项目.........................................................................17
如何将一个网络应用软件分割成多个项目..................................................................18
如何创建一个新的非网络项目.......................................................................................19
仔细考虑命名规则...................................................................................................................19
在项目和组件中使用通用的名称...................................................................................19
使用一个通用的根域名空间名称...................................................................................20
在 VSS 和本地文件夹中使用通用的名称.....................................................................20
第四章 管理依存关系......................................................................................................................21
引用组件...................................................................................................................................21
使用项目引用...................................................................................................................21
仅在必要的时候使用文件引用.......................................................................................22
在项目和文件引用中使用 Copy Local = True...............................................................22
在单解决方案系统和分块单解决方案系统中使用文件引用......................................23
在多解决方案系统中使用文件引用..............................................................................23
考虑使用隔离开发方案...................................................................................................24
使用虚拟驱动器盘符以获得更大的灵活性..................................................................24
总是使用文件引用对发布编译连接进行引用..............................................................24
使用引用路径以协助隔离开发和调试..........................................................................25
如何为特定项目设置引用路径.......................................................................................26
在项目中包含外部系统组件...........................................................................................26
考虑在 VSS 中共享外部系统组件..................................................................................26
使用 Add Reference 对话框中的.NET 标签...................................................................26
引用网络服务...........................................................................................................................27
在开发中确定网络服务的版本.......................................................................................27
始终使用动态的统一资源定位器(URL)..................................................................27
如何使用动态 URL 和用户配置文件.............................................................................28
更新一个网络服务引用...................................................................................................29
引用数据库...............................................................................................................................29
如何为数据库连接串使用用户配置文件......................................................................29
数据库开发...............................................................................................................................30
中央数据库服务器...........................................................................................................30
本地服务器.......................................................................................................................30
使用数据库脚本对变化进行管理...................................................................................30
考虑 Visual Studio .NET 项目..........................................................................................30
引用 COM 对象........................................................................................................................31
始终生成兼容的 Interop 组件.........................................................................................31
尽可能使用主 Interop 组件.............................................................................................32
如果没有主 Interop 组件,请使用 TLBIMP..................................................................32
在本地注册 COM 类........................................................................................................32
调用服务组件...................................................................................................................32
第五章 创建过程..............................................................................................................................34
处理依存关系...........................................................................................................................34
- 3 -
使用 Visual Stidio®.NET 和 Visual SourceSafe
TM
进行团队开发
控制集合版本...................................................................................................................34
使用自动增加的版本号字...............................................................................................35
使用静态的版本号...........................................................................................................35
考虑集中集合的版本号...........................................................................................................36
构架服务器文件夹结构...........................................................................................................36
考虑维护原有的结构.......................................................................................................36
不改变创建的输出路径...................................................................................................37
创建脚本...................................................................................................................................38
生成创建版本号...............................................................................................................39
标识源文件.......................................................................................................................40
析取最新的源文件...........................................................................................................40
创建一个最新的文件夹...................................................................................................40
用 Devenv.exe 创建解决方案..........................................................................................40
将输出拷贝到最新的文件夹中.......................................................................................41
在最新的文件夹下规划集合输出...................................................................................41
拷贝最新的文件夹来创建一个版本文件夹..................................................................41
将最新文件夹改名为 LatestBroken................................................................................42
解决一个失败的创建过程...............................................................................................42
重新创建多重解决系统...................................................................................................42
Email 发送创建结果........................................................................................................42
创建过程打包...................................................................................................................42
创建创建脚本账号...................................................................................................................43
更多信息...................................................................................................................................43
第六章 使用 Visual SourceSafe 工作..............................................................................................44
创建一个新的解决方案和工程...............................................................................................45
怎样向 VSS 中添加一个新的解决方案.........................................................................46
第一次在现有的解决方案的基础上运行..............................................................................47
接着在现有的解决方案和工程的基础上工作......................................................................48
将一个新的工程添加到一个现有的解决方案中去..............................................................48
加载源文件到 VSS 中..............................................................................................................49
只加载那些待建的文件...................................................................................................49
文件与文件夹的重命名和删除...............................................................................................49
对文件进行重命名...........................................................................................................49
重命名一个工程...............................................................................................................50
整理旧工程的文件...........................................................................................................51
从 VSS 中删除一个文件..................................................................................................51
从 VSS 中删除一个工程..................................................................................................52
从 VSS 中删除一个解决方案..........................................................................................52
多重调出...................................................................................................................................52
调出解决方案文件...........................................................................................................53
更多信息...........................................................................................................................53
创建一个开发域.......................................................................................................................54
没有信任关系的独立的域...............................................................................................55
有信任关系的独立域.......................................................................................................55
- 4 -
使用 Visual Stidio®.NET 和 Visual SourceSafe
TM
进行团队开发
部分的合作域...................................................................................................................55
VSS 服务器.......................................................................................................................56
构架服务器.......................................................................................................................56
开发工作台.......................................................................................................................57
Visual Studio Enterprise Templates..................................................................................58
备份服务器.......................................................................................................................58
SQL 服务器......................................................................................................................58
Web 服务器.......................................................................................................................59
安装和控制 VSS.......................................................................................................................59
在服务器上创建一个共享数据库...................................................................................59
用只读访问的模式共享 VSS 安装文件夹.....................................................................59
至少为.NET Development 工程创建一个新的数据库..................................................59
考虑创建额外的 VSS 数据库..........................................................................................60
共享数据库文件夹并创建适当的许可..........................................................................60
考虑使用 VSS 工程安全措施..........................................................................................60
为开发者和创建脚本添加用户账号..............................................................................61
限制访问管理工具...........................................................................................................61
发现并修补数据错误.......................................................................................................61
更多信息...........................................................................................................................61
考虑安装 Fault Tolerant Storage 系统.............................................................................61
更多信息...........................................................................................................................62
在客户端安装 VSS...........................................................................................................62
考虑使用 VSS 影子目录..................................................................................................62
更多信息...........................................................................................................................62
BuildIt——Visual Studio .NET 的一个自动编译连接工具...........................................................63
下载和安装 BuildIt...................................................................................................................64
对安装进行测试.......................................................................................................................64
用户指导...................................................................................................................................66
维护编译连接序号...........................................................................................................66
编译连接解决方案...........................................................................................................66
检查编译连接报告...........................................................................................................67
重新编译连接一个解决方案...........................................................................................67
归档编译连接...................................................................................................................67
用电子邮件传送编译连接结果.......................................................................................68
版本化组件.......................................................................................................................68
配置和操作...............................................................................................................................69
部署 BuildIt.......................................................................................................................69
配置 BuildIt.......................................................................................................................70
保护 BuildIt.......................................................................................................................71
解决 BuildIt 故障..............................................................................................................72
已知问题...................................................................................................................................72
设计和实现...............................................................................................................................73
问题描述...........................................................................................................................73
设计目标...........................................................................................................................73
- 5 -