2012-03-21 55 views

回答

13

有三个条件,通过PostSharp被自动处理项目:

  1. PostSharp已经使用安装程序安装。
  2. 该项目有一个对PostSharp.dll的引用(直接或间接)。
  3. MSBuild属性SkipPostSharp与true不同,编译符号SkipPostSharp未定义。

第三个条件是当您通过选中VS项目属性中的选项来禁用PostSharp时会变成错误。

默认情况下,您可以通过设置SkipPostSharp = True属性来禁用PostSharp。这可以通过创建一个在你的项目的父目录的一个名为PostSharp.Custom.targets文件,用下面的内容来实现:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <SkipPostSharp Condition="'$(SkipPostSharp)'==''">True</SkipPostSharp> 
    </PropertyGroup> 
</Project> 

然后,在每一个地方实际需要PostSharp项目,你需要定义属性SkipPostSharp = False。您必须使用文本编辑器来执行此操作,因为项目属性选项卡只允许将该属性设置为True或将其取消定义。

+0

只是为了澄清...如果我有一个名为“源码”我所有的项目目录位于目录,然后我可以创建该文件夹中的文件PostSharp.Custom.targets和任何新项目,其他人会创造*不*自动使用帖子锐利即使他们参考其他项目。那是对的吗? – 2012-03-23 23:05:34

+0

当然,假设他们的项目进入SourceCode文件夹。 – 2012-03-23 23:06:12

+1

这是在这里记录:http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/b1071f40-36ec-488c-a418-c9f19e3c8dbc.htm。基本上,PostSharp会在项目文件的父目录中查找,因此您可以在多个项目和解决方案中共享该文件。 – 2012-03-27 07:55:31

相关问题