2013-08-13 4 views
0

웹 응용 프로그램 범위 기능이 포함 된 솔루션이 있습니다. 사용자가 솔루션을 취소 할 때 활성화되어있는 경우 해당 기능을 비활성화해야합니다. 그래서 이벤트 수신기 추가 한 :웹 응용 프로그램 범위 기능 솔루션을 회수 할 때 FeatureUninstalling이 호출되지 않음

public override void FeatureUninstalling(SPFeatureReceiverProperties properties) 

를하지만합니다 (VS 디버거가 모든 W3WP 및 OWSTIMER 프로세스에 연결되어) 발사 아니에요. 내가 잘못하고 있니?

+0

VS 디버거를 사용하여 디버깅 할 수 없거나 그 안에 작성된 코드가 작동하지 않는 문제가 있습니까? (먼저 이벤트 수신기가 호출되는지 여부를 확인해야합니다. 이벤트 수신 기능을 설치하지 않은 상태에서 작은 로깅 코드를 작성하거나 이벤트 수신기가 실제로 이벤트를 수신했음을 나타내는 간단한 코드를 작성하여 수행 할 수 있습니다. 예를 들어 특정 사이트의 제목 변경) –

+0

여기서 실제로 무슨 일이 일어 났는지 알아내는 행운이 있습니까? 나는 지금 두 농장에서 똑같은 것을보고있다. 내가 iisreset을하기 전에 그것들 중 하나에서 작업하고있었습니다. 내 dev farm에서는 모든 범위 기능에 대한 FeatureUninstalling 이벤트 수신기로 새로운 SharePoint 솔루션을 만들 수 있으며 단순히 호출되지 않습니다. –

답변

0

나는 몇 번이나 서버를 다시 시작했는데, 행운없이 IIS를 재설정하려고했습니다.

다음 단계를 수행하면 문제가 해결됩니다. 1. 프로젝트 어셈블리의 이름을 [my_assembly_name] 111.dll로 변경하고 솔루션을 배포했습니다. 비활성화되거나 제거 된 기능이 호출되지 않았습니다. 설치된 기능 및 활성화 된 이벤트 수신기가 호출됩니다. 2. 다시 어셈블리를 [my_assembly_name] .dll로 바꾸고 다시 배포합니다. 비활성화되고 제거 된 기능이 호출되었습니다. 설치된 기능 및 활성화 된 이벤트 수신기도 호출됩니다.

그런 다음 모든 이벤트 수신기가 예외없이 호출 될 때까지 몇 번이나 솔루션을 제거하고 배포했습니다.

의 전화 주문에는 문제가 없었습니다. 순서는 지금 동일하지만 더 이상 예외는 없습니다.

나는 무슨 문제인지 몰랐다.

+0

다른 독자의 메모와 마찬가지로이 페이지의 @Serhiy에서 설명한대로 문제가 해결되지 않았습니다. https://social.msdn.microsoft.com/Forums/en-US/8df6c116-5458-4a83-9f36-ffd21df8d5dd/eventuninstalling-called-after-event-receiver-assembly-from-gac에서 제거한 것입니까? forum = sharepointdevelopment –