2010-06-24 1 views
1

PostSharp 빌드 대상을 참조하도록 편집 한 Visual Studio 프로젝트를 설치했습니다. 개발 컴퓨터에 PostSharp를 설치하기 위해 설치된 MSI를 사용하지 않았습니다.디버그 구성을 사용할 때 PostSharp 빌드 대상이 실행되지 않음

내가 겪고있는 문제는 빌드 구성을 '릴리스'로 변경할 때만 포스트 스크립트 대상을 실행하지만 '디버그'에서는 실행하지 않는 것입니다. 내가 PostSharp는 하나 개의 구성으로 실행됩니다 제안 명백한 아무것도 표시되지 않습니다

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

프로젝트 파일에서 상대 :

나는 릴리스 할 때 라인을 포함 빌드 출력을 보면이를 확인할 수 있습니다 다른 것은 아닙니다. 디버그 및 릴리스 구성 중에 PostSharp를 실행하도록 구성하려면 어떻게해야합니까? 염두에두고, 나는 오히려 설치 프로그램을 사용하지 않는 것이 좋습니다.

편집 csproj의 snippent는 <ItemGroup> 아래 파일의 맨 아래에 나타납니다 PostSharp.targets를 가져 오는 프로젝트 파일의 <Import> 요소의 위치에

<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

봐. 일반적으로 프로젝트 파일에는 세 개의 <PropertyGroup> 요소가 있습니다. 하나는 일반 설정 용이고 다른 하나는 디버그 전용 설정 용이고 다른 하나는 릴리스 전용 설정 용입니다. <Import> 요소가 Release 그룹에 있으면 Microsoft.CSharp.targets의 Import 요소 뒤에 나타나야합니다.

+0

PostSharp 속성에 대해 4 번째 PropertyGroup을 정의했으며 가져 오기 태그가 Microsoft.CSharp.Targets 가져 오기 아래에 있습니다. 내 질문을 편집하여 모양을 보여줍니다. – Karl

+0

나는 몰라. msbuild 출력을 Diagnostic으로 전환하여 현재 상황을 확인하십시오. 도구 + 옵션, P & S, B & R. –

+0

팁 주셔서 감사합니다. 나는 그 문제를 추적 할 수 있었다. 빌드 출력 경로를 프로젝트 루트 외부로 설정했습니다. 다시 기본 'bin \ Debug'로 변경하고 bin 및 obj 디렉토리를 삭제하고 다시 컴파일했습니다. MSbuild는 출력 파일이 최신이라고 생각하여 PostSharp 대상을 건너 뜁니다. 여기서 가장 이상한 문제는 이것이 Vista의 문제 일 뿐이라는 것입니다. Win XP 및 2003 Server에는이 문제가 없습니다. 감사! – Karl