在 VS 2012 中添加假货时出错

Error while adding a Fakes in VS 2012

我有 VS 2012 Ultimate,我正在尝试添加一个 Fake。 我右键单击引用的程序集,选择 "Add Fakes assembly".

但是后来我无法构建项目,出现此错误:

Error 1 The command ""C:\Program Files (x86)\Microsoft\Contracts\Bin\ccrewrite.exe" "@fccrewrite.rsp"" exited with code -1. [\vmware-host\Shared Folders\Documents\tfs\DefaultCollection\xxx\Workflow.Test\obj\Debug\Fakes\mxs\f.csproj] Workflow.Test

此错误来自代码合同重写器,它已经(或已经)a bug that prevents it from working over UNC paths

这是由于将前导 \ 转换为 \ 的转义转换错误。您可能会注意到方括号中的路径以单斜杠开头:[\vmware-host\Shared...

上面 link 中提供的解决方法是将驱动器映射到 UNC 路径,并从该驱动器引用您的项目。

我还应该指出 link 是 2011 年的。新版本的 Code Contracts 扩展中情况可能发生了变化,但我可以确认当我在2014 年年中。

正如评论中指出的那样,您可能可以禁用 Fakes 程序集的重写器 - 我不明白您为什么需要它。