Visual studio 2012 ItemNotMappedException:XYZ没有工作文件夹映射

Visual studio 2012 ItemNotMappedException:XYZ没有工作文件夹映射,visual-studio-2012,Visual Studio 2012,我通过VersionControlNonCatalError事件处理程序获得一个异常,其内容如下: “没有C:\SqlWorkspace的工作文件夹映射。” 我的机器上确实有这个映射。正因为如此,我想知道出了什么问题 该错误是在“workspace.PendAdd(pc.LocalItem);”行引发的,其中pc.LocalItem包含“C:\SqlWorkspace\Audits.sql” 文件夹包含:LocalItem:“C:\SqlWorkspace ServerItem:$/Code/

我通过VersionControlNonCatalError事件处理程序获得一个异常,其内容如下:

“没有C:\SqlWorkspace的工作文件夹映射。”

我的机器上确实有这个映射。正因为如此,我想知道出了什么问题

该错误是在“workspace.PendAdd(pc.LocalItem);”行引发的,其中pc.LocalItem包含“C:\SqlWorkspace\Audits.sql”

文件夹包含:LocalItem:“C:\SqlWorkspace ServerItem:$/Code/y\u Test/sqlhistory新类型:Map}”

为什么会出现此错误,所有设置和参数似乎都正常?
像我这样的其他问题没有给我任何提示,这可能是有用的。

我找到了解决办法。在任何PendAdd/PendDelete/…之前,必须调用“Workstation.Current.EnsureUpdateWorkspaceInfoCache()”。。。打电话

结果是:没有错误,因此GetPendingChanges()包含升级的文件


我在这个网站上找到了解决方案:

发生这种情况的原因是,您与某个客户端(比如VS 2013)创建了工作区,该客户端的缓存与您正在使用的SDK版本(比如TFS 2012 SDK)不共享,您需要从服务器刷新本地缓存。刷新本地工作区缓存是一个很好的实践-感谢您的回答!在我的例子中,客户机是VS2012 Shell,带有Team Explorer 2012的SDK和我使用的API是TFS2012。所以没有版本冲突。但很高兴知道,刷新缓存并不罕见。