Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何在多个项目中引用TFS项_Visual Studio 2010_Tfs_Source Control Explorer - Fatal编程技术网

Visual studio 2010 如何在多个项目中引用TFS项

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

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

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

这些答案建议在添加现有项时创建类库或使用“添加为链接”。我想我可以在不使用TFS的情况下在VisualStudio中这样做,但我已经提出了一个TFS特定的问题。当TFS正在使用时,此“添加为链接”选项是否有效?或者我是否必须在TFS中执行某些操作才能使其遵守链接引用?

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


在我的公司,我们在一个解决方案中有多个项目,我们为所有项目共享一个“Assemblyversion.cs”,因此我不需要在多个文件中写入版本信息。我们使用了添加链接,效果非常好

如果使用“添加链接”将TFS中的项目添加到不在TFS中的项目,会发生什么情况?您指的是不在TFS中的文件?如果您在项目中添加了一个“.cs”文件,但忘记将该.cs文件签入TFS,那么您的服务器构建(以及其他开发人员计算机中的构建)将失败,并声明找不到该.cs文件。同样,如果您在项目中添加链接文件,并且TFS中不存在该文件,则构建将失败。我已经测试了此方法,它运行良好。需要明确的是,在第一个项目中,使用解决方案资源管理器添加新项。然后签入这个项目。然后在第二个项目中,从“解决方案资源管理器”中选择“添加现有项”,浏览到第一个项目,并确保在对话框上选择“添加为链接”的下拉选项。现在这由TFS源代码管理。这在VS 2013 Ultimate和TFS 2010后端中适用于我。真有趣。我为这个问题赢得了一枚“热门问题”徽章,但还没有获得一次投票!