2015-01-12 3 views
1

간단한 예외 처리 속성이 있습니다. 문제는 공통 프로젝트에서이 속성을 사용하고 모든 프로젝트에 의존성을 생성한다는 것입니다. 공용 프로젝트에서 Postsharp 종속성을 제거하고 Autofac을 사용하여 Postsharp를 주입하는 방법은 무엇입니까?포스트 샤프 속성을 인터페이스로 구현하는 방법

  • 우리의 목표는 루트 프로젝트에서 쉽게

답변

0

대부분의 경우는 Autofac를 사용하여 측면을 적용하는 것은 불가능하다 Nuget 패키지를 업데이트하는 것입니다.

애트리뷰트를 사용하여 애스펙트를 적용하는 경우 애스펙트의 기본 클래스를 정의하므로 참조 인 PostSharp.dll이 필요합니다.

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.postsharp.org/1.0/configuration" 
     xmlns:m="clr-namespace:MyAspectLibrary;assembly:MyAspectLibrary"> 
    <Multicast> 
    <m:MyAspect AttributeTargetTypes="MyProject.Class1" AttributeTargetMembers="Method1" /> 
    </Multicast> 
</Project> 

파일이 같은 이름을 가지고 있어야하고 (여기 MyProject.psproj) psproj 확장자 csproj 파일과 같은 폴더에 위치해야합니다 : 프로젝트 레벨 xml configuration 파일을 사용

하지만 수 add aspects.

이 경우 PostSharp.dll에 대한 참조를 MyProject에서 제거 할 수 있습니다. 여전히 MyAspectLibrary에서 참조해야합니다.

편집 : MyProject은 여전히 ​​PostSharp에서 후 처리해야합니다. csproj 파일의 PostSharp.targets 및 관련 행을 참조하십시오.

+0

대부분의 경우 Autofac을 사용하여 측면을 적용 할 수 없습니다. : (( –

관련 문제