2010-06-24 76 views
1

我已經安裝了一個我已編輯以引用PostSharp構建目標的Visual Studio項目。我沒有使用安裝的MSI在我的開發機器上安裝PostSharp。使用調試配置時PostSharp構建目標未運行

我遇到的問題是PostSharp目標僅在將構建配置更改爲「發佈」時執行,而不是在「調試」中執行。

我可以通過查看構建輸出,其中包括當釋放線路驗證這一點:

PostSharp 1.5 [1.5.6.627] - Copyright (c) Gael Fraiteur, 2005-2009. 

綜觀項目文件,我沒有看到任何明顯,建議PostSharp將同一個配置下運行而不是其他。我如何配置PostSharp以在調試和發佈配置期間運行?請記住,我寧願避免使用安裝程序。

卡爾

編輯的csproj snippent,出現在文件的底部,下方<ItemGroup>

<PropertyGroup> 
    <DontImportPostSharp>True</DontImportPostSharp> 
    <PostSharpDirectory>..\..\tools\postsharp-1.5.6.629</PostSharpDirectory> 
</PropertyGroup> 
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 
<Import Project="$(PostSharpDirectory)\PostSharp-1.5.targets" /> 

回答

2

看在進口PostSharp.targets項目文件中的<Import>元素的位置。項目文件中通常有三個<PropertyGroup>元素。一個用於常規設置,一個用於僅調試設置,另一個用於僅發佈設置。如果它位於發佈組中,則移動<Import>元素,它應該出現在Microsoft.CSharp.targets的Import元素之後。

+0

我爲PostSharp屬性定義了第4個PropertyGroup,並且在導入Microsoft.CSharp.Targets下面有導入標記。我會編輯我的問題,以顯示它看起來像 – Karl 2010-06-24 14:53:59

+0

我不知道。將msbuild輸出切換到Diagnostic以查看發生了什麼。工具+選項,P&S,B&R。 – 2010-06-24 16:04:26

+0

感謝您的提示。我能夠追查到這個問題。我將生成輸出路徑設置爲項目根目錄之外的外部。我將其更改回默認的'bin \ Debug',刪除了bin和obj目錄並重新編譯。 MSbuild跳過了PostSharp目標,因爲它認爲輸出文件是最新的。這裏真正奇怪的問題是,這只是Vista上的一個問題。 Win XP和2003 Server沒有這個問題。謝謝! – Karl 2010-06-24 16:37:05

相關問題