【问题标题】:How to reference TFS item within multiple projects如何在多个项目中引用 TFS 项
【发布时间】:2013-08-29 19:11:24
【问题描述】:

我在 Visual Studio 2010 Ultimate 中创建了一个 C# 解决方案,其中包含多个使用相同结构、类和枚举类型的项目。我已经创建了一个包含所有这些项目的 .cs 文件,但目前我必须为每个项目复制这个文件。这显然不太理想,因为如果我进行更改或添加,我必须记住更新文件的每个副本。

有没有办法让所有项目只引用这个文件的一个实际副本,这样我只需更新一次,所有其他项目都可以看到这个更新?我的一位同事告诉我,可以在 TFS 中进行某种“符号”引用,但由于我真的不知道这个功能的名称是什么,所以我不知道如何进一步研究它。

这个question 的答案建议在添加现有项目时创建类库或使用“添加为链接”。我想我可以在不使用 TFS 时在 Visual Studio 中执行此操作,但我已将此作为 TFS 特定的问题提出。当 TFS 正在使用时,这个“添加为链接”选项会起作用吗?还是我必须在 TFS 中做一些事情才能让它尊重链接引用?

【问题讨论】:

  • 真有趣。我为这个问题赢得了一个“热门问题”徽章,但我什至没有获得一个赞成票!

标签: visual-studio-2010 tfs source-control-explorer


【解决方案1】:

“添加链接”选项肯定适用于 TFS。您不必为此做任何具体的事情。 “添加链接”是特定于项目的,它将在项目文件中添加一个新条目,指定 .CS 文件的位置。只要文件在服务器构建期间的特定位置可用,就没有什么可担心的。确保添加链接创建文件的相对路径而不是绝对路径。

在我的公司,我们在一个解决方案中有多个项目,我们为所有项目共享一个“Assemblyversion.cs”,这样我就不需要在多个文件中写入版本信息。我们使用了 Add Link,效果很好!

【讨论】:

  • 如果使用“添加链接”从 TFS 中的项目到不在 TFS 中的项目会发生什么?
  • 您的意思是一个不在 TFS 中的文件?如果您在项目中添加“.cs”文件并忘记将该 .cs 文件签入到 TFS,那么您的服务器构建(以及其他开发人员机器中的构建)将失败并指出它找不到 .cs 文件.同样,如果您在项目中添加链接文件并且如果 TFS 中不存在该文件,则构建将失败。
  • 我已经测试过这个方法并且效果很好。为了清楚起见,在第一个项目中,使用解决方案资源管理器添加新项目。然后签入此项目。然后在第二个项目中,从解决方案资源管理器中,选择添加现有项目,然后浏览到第一个项目,并确保您在“添加为链接”对话框中选择下拉选项。现在这由 TFS 源代码控制管理。这在带有 TFS 2010 后端的 VS 2013 Ultimate 中对我有用。
猜你喜欢
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 2011-06-18
  • 2022-08-23
  • 2013-03-10
  • 2016-11-29
  • 1970-01-01
相关资源
最近更新 更多