在Mac文件共享/未路径上工作时出现奇怪的Visual Studio TFS行为

Man*_*ber 8 unc visual-studio visual-studio-2013 tfs2013 osx-yosemite

我在Yosemite的Mac上工作.昨天我安装了Visual Studio 2013的Update 4,并注意到使用TFS 2013(和TFS作为SCM)时的一种奇怪行为.我的源文件作为本地工作区映射到Mac上的UNC路径.

当我对我的文件进行更改并尝试登记时,我收到以下消息:

\\psf\Home\Documents\My\TFS\Customerproject\Source\Calculation\WeightCalculation.cs: Access to the path is denied.
Run Code Online (Sandbox Code Playgroud)

当我搁置我的更改并取消搁置时,我可以签入该文件.当我收到消息"访问被拒绝"时,我可以在每个文件上重现这个.

更新我只是玩了一下而且:我不需要取消搁置文件.它足以搁置它们并检查"保留本地挂起的更改".之后,我可以办理登机手续.

我试图删除Windows中的"只读"标志,并在源文件夹上执行"chmod -R 777 Source"以允许所有人访问.但这并不能解决问题.只有搁置的解决方法有效.

以管理员身份启动Visual Studio也无法解决问题.

其他人注意到这种行为或有想法如何解决它?

Mar*_*num 4

我所做的是将本地工作区更改为Visual Studio 中的服务器工作区(macOS Sierra + Windows 10 on Parallels);

  • 文件 > 源代码管理 > 高级 > 工作区...
  • 在列表中选择您的工作区并点击编辑...
  • 点击高级>>
  • 将位置更改为服务器并单击“确定”关闭

现在您应该能够办理登机手续而无需搁置。


请注意,本地工作区和服务器工作区之间存在一些差异,但就我而言,它与服务器工作区一起工作得很好;

为什么应该使用本地工作区?

使用本地工作区时,您可以获得以下优势:

轻松离线工作。当网络连接不可用或不可靠时,您可以快速开始编辑文件。即使未连接到 Team Foundation Server,您也可以在解决方案资源管理器中添加、编辑、删除、重命名、撤消和比较工作区中的项目。

轻松恢复您在本地删除的文件。要恢复本地删除的文件,只需获取您的文件即可。

Visual Studio 自动检测更改。当您在 Visual Studio 外部添加或删除文件时,程序会自动检测这些更改。

重要提示:使用本地工作区的一个缺点是性能会随着项目数量的增加而降低。有关详细信息,请参阅下一节。

我什么时候需要使用服务器工作区?

使用服务器工作区时,Visual Studio 仅保留每个文件的一份副本。当您有大量项目时,这可以显着减少磁盘空间使用并提高性能。如果出现以下情况,我们建议您使用服务器工作区:

您的工作区包含超过 100,000 个项目。

您想要使用 Visual Studio 2010 或更早版本来处理工作区。

您需要使用启用获取最新结帐选项。

离线工作困难且性能不佳。当您在服务器工作区中脱机时,您无法使用本地文件,因为它们在您签出之前是只读的。您只能从解决方案资源管理器中检出文件,并且只能在切换到脱机模式后(如下所述)。当您处于脱机状态时,您无法执行任何其他操作,例如添加、删除、重命名或撤消。

提示:您可以通过启用异步结账来提高响应速度。有关详细信息,请参阅管理团队的团队项目集合工作区设置。