如何在多个项目中引用TFS项

3
我有一个C#解决方案,在Visual Studio 2010 Ultimate中创建,其中包含多个项目,这些项目使用相同的结构、类和枚举类型。我创建了一个包含所有这些项的.cs文件,但目前我必须为每个项目复制此文件。这显然不是理想的情况,因为如果我进行更改或添加,就必须记住更新文件的每个副本。
有没有办法让所有项目仅引用此文件的一个实际副本,以便我只需更新一次,所有其他项目都可以看到此更新?我的一位同事告诉我,在TFS中可以制作某种“符号”引用,但由于我不知道此功能的名称,所以不知道如何进一步研究它。

这个问题有一些回答建议创建一个类库或在添加现有项目时使用“添加为链接”。我想在不使用TFS时可以在Visual Studio中完成此操作,但我已将其作为一个TFS特定的问题提出。当使用TFS时,“添加为链接”选项是否有效,还是我需要在TFS中做一些事情才能让它遵守链接引用?


多有趣啊。我因这个问题获得了“热门问题”徽章,但连一个赞都没有得到! - gonzobrains
1个回答

3
"添加链接"选项在TFS中肯定可行,你不需要为此做任何特定的操作。 "添加链接"是特定于项目的,它将向您的项目文件添加一个新条目,指定.CS文件的位置。只要在服务器构建期间该文件在特定位置可用,就没有什么可担心的了。请确保添加的链接是相对路径而不是绝对路径。
在我的公司中,我们在一个解决方案中有多个项目,并共享单个的 "Assemblyversion.cs" 文件,这样我就不需要在多个文件中编写版本信息。我们使用了 "添加链接" 功能,并且它效果很好!

如果您在TFS中的项目中使用“添加链接”功能来连接一个不在TFS中的项目,会发生什么? - gonzobrains
你的意思是一个不在TFS中的文件吗?如果你在项目中添加了一个“.cs”文件,但忘记将该文件检入到TFS中,那么你的服务器构建(以及其他开发者机器上的构建)将失败,并指出找不到该“.cs”文件。同样,如果你在项目中添加了链接文件,但它不在TFS中,则构建将失败。 - Isaiah4110
我已经测试了这个方法,它运行良好。只是为了明确,在第一个项目中,请使用“解决方案资源管理器”添加新项。然后将此项签入。然后在第二个项目中,从“解决方案资源管理器”中选择“添加现有项”,并浏览到第一个项目,并确保您选择对话框上的下拉选项“作为链接添加”。现在,这由TFS源控制管理。在VS 2013 Ultimate和TFS 2010后端中,我已经成功使用了这种方法。 - subsci

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接