如果文件由TFS控制,我无法重新创建文件。
重现的步骤:
- 创建一个新的控制台应用程序。
- 添加新文件:Class1.cs
- 将整个解决方案签入TFS。
- 删除Class1.cs。
- 再次创建Class1.cs。
我收到一个错误消息框:
退房。项目< ...>无法在您的工作区中找到,或者您 无权访问它。
将创建文件,但“解决方案资源管理器”中将不会有任何TFS图标。该文件仍将在“待更改”中标记为已删除,而不是更新。
因此,如果我想重新创建文件,我必须
- 删除文件
- 签入变更集(导致破解的CI构建)
- 创建文件。
问题是: 这是本地工作空间的设计吗?或者这只是一个错误,将在以后修复?或者它只是我的本地错误,没有人可以在他们的机器上重现它?
P.S。我需要重新创建一些文件,例如,因为有一些方便的VS工具用于创建WCF RIA域服务类(包含所有相关元数据),但没有工具可以更新它们。我不想更改域名服务的名称,否则我将不得不更新客户端。
更新 我只是想在另一台PC上重现这个bug。 文件Class1.cs已成功重新创建,并标记为“已更新”。 没有消息框窗口,但在“输出”窗口中有相同的消息:
项目< ...>在您的工作区中找不到,或者您无权访问它。
如果我尝试重新创建EDMX模型,那么我仍然会收到包含该错误的消息框,但文件已成功识别为已编辑。 我不明白,这两台PC有什么区别。
答案 0 :(得分:1)
我尝试重现您的案例,答案为“是”,详情如下:
标记为“已更新”的文件。你说的输出窗口中有一条消息,但这条消息很有意义,因为当你第一次删除文件时,当你添加一个同名的文件时,它被标记为“删除”团队资源管理器认为你想要编辑该文件,因为它仍然在源代码控件上退出,所以当它尝试签出以进行编辑时,因为它是默认配置,请参阅图像,它无法在本地工作中找到该文件,因为您将其删除并且这是消息在输出窗口中。
第二部分,您在更新中提到EDMX文件: 因此,当您使用实体设计器修改模型时以及使用更新模型向导根据对基础数据库的更改来更新模型时,EDMX文件会更新,因此它是生成的文件。
好的,让我给你一个黄金建议.....我们不会在源代码管理中保留任何生成的文件,但是我们会保留生成它们的文件,我们保留我们手工编辑的文件,这就是原因我们不保留代码的DLL,但保留生成该DLL的源代码。
答案 1 :(得分:0)
致Mr.Radwan。