2010-06-24 82 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

相关问题