2012-03-21 90 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

相關問題