TFS和IIS - 源代码管理

时间:2011-12-14 14:45:13

标签: iis-7 tfs

我们目前正在将源控制从Subversion切换到TFS。这适用于可以检出,编辑,编译和重新检入的独立项目/解决方案。

我正在尝试使用我们拥有的特定项目/解决方案来顺利运行。

这是一个包含一些C#项目和IIS /网站/应用程序的解决方案。 IIS网站主要是经典的ASP和一些C#/ .NET部分(我们正在慢慢转换这些部分)。这样,我们在本地测试网站,并将更改提交到存储库。这不是一个小网站,它总共是500多个文件(图像,ASP,ASPX等)。

通常,在Subversion中,我们只检查单个项目,而我们的包含它的解决方案在源代码控制下 not (考虑到有些人将其本地IIS实例映射到不同的驱动器)。当我们编辑文件时,它会被标记为被修改,我们可以检查它,还原我们的更改等(我在VS2010中使用VisualSVN,它为我提供了所有这些方便的选项)。

使用TFS,当我尝试相同的路径(将网站放在源代码控制中,将其映射到我的IIS实例指向的目录)时 - 项目/解决方案加载得很好 - 但解决方案资源管理器没有显示任何指示在源代码管理中 - 如果我双击一个文件并尝试编辑它 - 它会让我感到尖叫它是在只读模式下。

所以 - 我的问题很简单 - 我如何让TFS在源代码管理中与IIS网站顺利运行,因此我的解决方案资源管理器可以向我展示我本地的文件是正常的还是被修改的(ala Subversion)?没有这种“只读”的抓地力?

我不介意必须将解决方案的IIS部分作为“文件/文件夹”项目加载(现在在我们的解决方案中,IIS部分是指向我们计算机上的IIS站点的IIS实例)。 / p>

TLDR:我怎么能让TFS来源控制一个IIS网站,在解决方案资源管理器中为我提供漂亮的图标 - 而不必在TFS中提供解决方案?

顺便说一下,这是IIS7。

2 个答案:

答案 0 :(得分:2)

Team explorer使用只读,但查看哪些文件已在本地更改。它使用Workspace映射,允许您将解决方案的一部分放在一个目录中,将另一部分解决方案放在另一个目录中。

您可以安装Team Foundation Power Tools to integrate TFS with Windows Explorer,以便在编辑文件之前检出文件。 (这也会删除只读位。)

由于visual studio将源代码控制绑定与解决方案一起存储,因此当您使用Visual Studio编辑项目时,不将解决方案放在源代码控制中就会让您遇到麻烦。

更好的解决方案是add all the files of your website to a Web Project,即使它们是asp文件或任何其他类型的问题。 Visual Studio可以处理这些问题。然后使用Visual Studio为您处理签出过程。

然后,您可以使用web projects properties中的“使用本地IIS”选项将Web项目配置为集成到IIS中。当您打开解决方案时,这将自动将IIS映射到正确的文件夹。

您可以使用a custom workspace configuration to make sure TFS puts the folders where you want them to,如果您愿意,可以为每台计算机创建不同的工作区,但如果不同的团队成员会标准化,则会更容易。如果您能够将所有源代码放在一个文件夹中并让项目属性为您处理IIS配置,那就更好了。

下一版本的TFS / Visual Studio support both client and server workspaces将删除对只读位的要求。

答案 1 :(得分:0)

您可能需要考虑分支和合并策略。这是一个复杂的话题,但有很多指导。这可能是一个很好的起点:

http://branchingguidance.codeplex.com/

此外,如果您查看Web应用程序的属性,我相信可以选择“将服务器设置应用于所有用户(存储在项目文件中)”如果取消选中我认为您可以让每个开发人员维护他们的自己设置IIS的映射位置而不保存回存储库。

您的本地副本(称为工作区)可以是您想要的任何地方。我相信这是特定于用户/主机的东西,因此您的设置不应影响其他任何人。听起来您可能需要将IIS配置为指向工作区或将工作区配置为指向IIS所在的位置。