在VS 2012中添加Fakes时出错

时间:2015-02-13 12:33:29

标签: c# unit-testing visual-studio-2012

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

但是我无法构建项目,我收到了这个错误:

  

错误1命令"" C:\ Program Files(x86)\ Microsoft \ Contracts \ Bin \ ccrewrite.exe" " @ fccrewrite.rsp""退出代码-1。 [\ _vmware-host \ Shared Folders \ Documents \ tfs \ DefaultCollection \ xxx \ Workflow.Test \ _ obj \ Debug \ Fakes \ mxs \ f.csproj] Workflow.Test

1 个答案:

答案 0 :(得分:4)

此错误来自Code Contracts重写器,该重写器已经(或有)a bug that prevents it from working over UNC paths

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

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

我还应该指出该链接是从2011年开始的。在Code Contracts扩展的较新版本中可能已经发生了变化,但我可以确认,当我在2014年中期评估代码合同时,这个问题仍然存在。

正如评论中指出的那样,您可以禁用伪装配的重写器 - 我不明白为什么你需要它。