在VS2012中使用假货时发出PostSharp警告

时间:2013-06-17 06:23:54

标签: visual-studio-2012 postsharp microsoft-fakes

我们最近更新到VS2012,并将PostSharp版本更改为3.0.26。通常这种组合工作正常,但我收到单元测试项目的警告,如

模块“MyModule.Fakes.dll”不包含任何方面或其他转换。为了提高构建时性能,请考虑通过在项目中设置编译符号(也称为常量)“SkipPostSharp”来禁用此模块的PostSharp,或者设置MSBuild属性“SkipPostSharp = True”。

现在我通常可以通过相应地更改项目设置来禁用此警告(SkipPostSharp = True),但我已经为包含单元测试的MyProjectTest项目完成了此操作。

当我将<SkipPostSharp>True</SkipPostSharp>添加到MyModule.Fakes文件夹中的Fakes文件时,有关PostSharp的警告消失,但是,我收到另一条错误消息:

名称空间“http://schemas.microsoft.com/fakes/2011/”中的元素“Fakes”在名称空间“http://schemas.microsoft.com/fakes/2011/”中包含无效的子元素“SkipPostSharp”。期望的可能元素列表:命名空间“http://schemas.microsoft.com/fakes/2011”中的“StubGeneration,ShimGeneration,Compilation”。

更新

我还尝试编辑fakes.xsd文件并添加一个额外的SkipPostSharp元素,但是a)这仍然不被Visual Studio识别为有效元素而b)我不确定是否无论如何,这将是正确的方法。

任何想法如何摆脱这些警告?

1 个答案:

答案 0 :(得分:5)

您可以指定项目文件的其他属性Fakes将生成以通过将Property元素放在.FAKES文件末尾的Compilation元素内来构建fakes程序集。以下是基于您的描述的示例。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
  <Assembly Name="MyModule"/>
  <Compilation>
    <Property Name="SkipPostSharp">True</Property>
  </Compilation>
</Fakes>