Visual studio 2010 VisualStudio2010:如何在签入任何内容之前修改新添加的项目?

Visual studio 2010 VisualStudio2010:如何在签入任何内容之前修改新添加的项目?,visual-studio-2010,version-control,tfs,projects-and-solutions,Visual Studio 2010,Version Control,Tfs,Projects And Solutions,我在一个开发团队中工作,开发一个VisualStudio2010解决方案。 我们使用的是TFS以及随之而来的源代码管理 我无法签入无法编译的内容 我需要从另一个解决方案向解决方案添加一些现有项目。首先,我需要将它们添加到此解决方案中,然后修复一些引用和名称空间,以便解决方案能够编译,然后将所有这些作为一个完整的工作单元检查回源代码管理 我首先将现有项目的文件夹复制到解决方案的文件夹中(在操作系统中,而不是在VS中) 发生的情况是,当我将现有项目添加到解决方案中时,它只为项目添加一个节点,并为源代

我在一个开发团队中工作,开发一个VisualStudio2010解决方案。 我们使用的是TFS以及随之而来的源代码管理

我无法签入无法编译的内容

我需要从另一个解决方案向解决方案添加一些现有项目。首先,我需要将它们添加到此解决方案中,然后修复一些引用和名称空间,以便解决方案能够编译,然后将所有这些作为一个完整的工作单元检查回源代码管理

我首先将现有项目的文件夹复制到解决方案的文件夹中(在操作系统中,而不是在VS中)

发生的情况是,当我将现有项目添加到解决方案中时,它只为项目添加一个节点,并为源代码管理添加一个加号图标。 它会忽略编译中的这些项。添加项目的代码文件实际上尚未在解决方案中。在这一点上我什么也修不好

Visual Studio
似乎让我继续的唯一方法是将新添加的项目签入到源代码管理,然后进行修复,然后再次签入修复

这并不酷,因为它会破坏源代码管理和我的团队成员代码中的解决方案。 加上签入创建了一个自动构建。这是一件大事

附近有工作吗? 谢谢


编辑:我通过将csproj文件从操作系统拖放到解决方案资源管理器中来添加项目。它们与.csproj文件扩展名一起显示为文件名,而不是项目名。就好像Visual Studio认为我想添加文件,而不是项目一样。

我强烈建议您与现有团队成员联系,以获得有关如何将现有项目附加到解决方案的帮助

不过有几个概括:

我将现有项目的文件夹复制到解决方案的文件夹中 首先(在操作系统中,而不是在VS中)

通常,这不是做事的方式。通常情况下,您不会将另一个项目文件夹复制到您的文件夹中。您可以简单地将该项目从其现有位置附加到解决方案,也可以将其分支到您自己的解决方案结构中。无论哪种方式,复制它都会破坏源代码管理链接,而这通常不是期望的行为

编辑:我通过拖放csproj文件添加了项目 从操作系统进入解决方案资源管理器。它们显示为文件名, 不是作为项目名称,以及.csproj文件扩展名。就像 如果VisualStudio认为我想添加文件,而不是项目

要将现有项目添加到解决方案中,请右键单击该解决方案,然后选择“添加->现有项目…”。。。你所做的只是在你的项目中添加了一个没有意义的文件;那不行

VisualStudio似乎让我继续的唯一方法是 将新添加的项目签入到源代码管理中,然后使 修复程序,然后再次签入修复程序

我不知道你为什么这么想。解决方案要么编译,要么不编译。将其签入源代码管理不会影响这一点。编译问题很可能是由于我在上面指出的问题造成的


无论哪种方式,都可以与现有团队成员(或经理)交谈,以帮助您正确设置解决方案。这将是最简单的方法。我知道,如果我的一个员工在TFS方面遇到问题,我更希望他们早点和我谈,这样我就可以向他们展示它是如何工作的。

新添加的项目是否由其他人签出?@RobertHarvey,没有。它们是TFS源代码管理树中尚不存在的现有项目的全新副本。我们没有做任何分支或任何事情。我们正在将这些项目复制/粘贴到新的解决方案中。请注意我对问题的编辑。谢谢。他们自己编译吗?将现有项目添加到它们自己的解决方案中,并首先将其引入TFS。然后将它们与现有解决方案集成。谢谢。我并不是说我认为我必须先签入才能修复代码。我是说我想我必须在看到任何源代码文件之前签入。但按照您建议的方式完成后,我描述的行为消失了。总之,VisualStudio愚蠢地认为任何人都会希望将项目文件添加为文件,作为默认的拖放操作。我希望我们能同意它所做的事情是违反直觉的,违反了最不令人惊讶的原则。@toddmo:是的,我同意如果你将一个.csproj文件拖放到你的解决方案中,那么它应该足够聪明,能够弄清楚如何处理它。;)