Visual studio 2012 使用VS2012重新创建文件&;TFS2012

Visual studio 2012 使用VS2012重新创建文件&;TFS2012,visual-studio-2012,Visual Studio 2012,如果文件由TFS控制,则无法重新创建该文件 复制步骤: 创建一个新的控制台应用程序 添加一个新文件:Class1.cs 将整个解决方案签入到TFS 删除Class1.cs 再次创建Class1.cs 我收到一个带有错误的消息框: 退房。在您的工作区中找不到该项目,或者您 没有访问它的权限 将创建该文件,但在“解决方案资源管理器”中该文件附近将没有TFS图标。并且该文件仍将在“待定更改”中标记为已删除,而不是已更新 所以如果我想重新创建文件,我必须 删除该文件 签入变更集(这会导致CI构建中

如果文件由TFS控制,则无法重新创建该文件

复制步骤:

  • 创建一个新的控制台应用程序
  • 添加一个新文件:Class1.cs
  • 将整个解决方案签入到TFS
  • 删除Class1.cs
  • 再次创建Class1.cs
我收到一个带有错误的消息框:

退房。在您的工作区中找不到该项目,或者您 没有访问它的权限

将创建该文件,但在“解决方案资源管理器”中该文件附近将没有TFS图标。并且该文件仍将在“待定更改”中标记为已删除,而不是已更新

所以如果我想重新创建文件,我必须

  • 删除该文件
  • 签入变更集(这会导致CI构建中断)
  • 创建文件
问题是: 这是为本地工作区设计的吗?或者这只是一个bug,以后会修复吗?或者这只是我的本地bug,没有人能在他们的机器上复制它

另外,我需要重新创建一些文件,例如,因为有一些方便的VS工具用于创建WCF RIA域服务类(包含所有相关元数据),但没有工具来更新它们。我不想更改域服务的名称,否则我将不得不更新客户端

更新: 我只是想在另一台电脑上重现这个错误。 已成功重新创建文件Class1.cs,并将其标记为“已更新”。 没有messagebox窗口,但在输出窗口中有相同的消息:

在工作区中找不到该项目,或者您没有访问该项目的权限

若我尝试重新创建EDMX模型,那个么我仍然会得到一个带有该错误的messagebox,但文件被成功识别为已编辑。
我不明白,这两台电脑有什么区别。

我试着复制你的案例,答案是“是”,详细信息如下:

标记为“已更新”的文件。正如您所说,输出窗口中有一条消息,但这条消息很有意义,因为当您第一次删除文件时,它被标记为“删除”现在,当您添加具有相同名称的文件时,team explorer认为您想要编辑该文件,因为它仍在源代码管理上退出,因此当它尝试签出进行编辑(因为它是默认配置)时,请参见图片,它无法在您的本地worksapce上找到该文件,因为您删除了它,这是输出窗口中的消息

第二部分,您在关于EDMX文件的更新中提到: 因此,当您使用实体设计器修改模型时,以及当您使用更新模型向导根据对基础数据库的更改更新模型时,EDMX文件已更新,因此它是生成的文件


好吧,让我给你一个金玉良言。。。。。我们不在源代码管理中保留任何生成的文件,但我们保留生成它们的文件,我们保留手动编辑的文件,这就是我们不保留代码的DLL的原因,但我们保留生成DLL的源代码。

我尝试重现您的案例,答案是“是”,详细信息如下:

标记为“已更新”的文件。正如您所说,输出窗口中有一条消息,但这条消息很有意义,因为当您第一次删除文件时,它被标记为“删除”现在,当您添加具有相同名称的文件时,team explorer认为您想要编辑该文件,因为它仍在源代码管理上退出,因此当它尝试签出进行编辑(因为它是默认配置)时,请参见图片,它无法在您的本地worksapce上找到该文件,因为您删除了它,这是输出窗口中的消息

第二部分,您在关于EDMX文件的更新中提到: 因此,当您使用实体设计器修改模型时,以及当您使用更新模型向导根据对基础数据库的更改更新模型时,EDMX文件已更新,因此它是生成的文件

好吧,让我给你一个金玉良言。。。。。我们没有在源代码管理中保留任何生成的文件,但我们保留生成这些文件的文件,我们保留手动编辑的文件,这就是我们不保留代码DLL的原因,但我们保留生成DLL的源代码。

致Radwan先生

  • 谢谢你的回答
  • 对不起我的英语
  • 我在源代码管理选项中有相同的设置
  • 我删除了更新1,修复了VS并重新安装了更新1。 现在一切正常。 当我重新创建一个文件时,现在在输出窗口而不是对话框窗口中有一条消息。该文件被标记为已编辑
  • 更新Edmx与从头开始重新创建Edmx不同。据我所知,当您更新它时,EF会保留您对概念部分所做的更改。 在某些情况下,更容易重新创建文件,然后清理它
  • 我们从未将*.generated.cs存储在TFS和其他在每次构建时自动生成的代码中。不管怎样,谢谢你的建议
  • 给拉德万先生

  • 谢谢你的回答
  • 对不起我的英语
  • 我在源代码管理选项中有相同的设置
  • 我删除了更新1,修复了VS并重新安装了更新1。 现在一切正常。 当我重新创建一个文件时,现在在输出窗口而不是对话框窗口中有一条消息。该文件被标记为已编辑
  • 更新Edmx与从头开始重新创建Edmx不同。据我所知,当您更新它时,EF会保留您对概念部分所做的更改。 在某些情况下,更容易重新创建文件,然后清理它
  • 我们从未将*.generated.cs存储在TFS和其他在每次构建时自动生成的代码中。不管怎样,谢谢你的建议

  • 你的问题能更清楚一点吗?好的。我可以使用本地工作区重新创建(删除和添加)文件吗?这是按设计的。我理解