1

계정 엔티티에 간단한 포스트 만들기 플러그인이 있습니다.이 플러그인은 생성 된 계정과 동일한 이름으로 SharePoint 온라인에서 서브 사이트를 온라인 상태로 만듭니다.Dynamics CRM 2016 온라인 보안/격리 모드

Microsoft.SharePoint.Client.Runtime 어셈블리의 SharePointOnlineCredentials 클래스를 사용하여 SharePoint 인스턴스에 로그인했습니다.

플러그인은 isolation mode = none으로 설정되어 있으면 온 프레미스 인스턴스에서 작동합니다.

샌드 박스 격리 모드에서 플러그인을 실행할 때 아래 오류 (온라인 버전 오류)가 발생합니다.

SharePoint의 온라인 인스턴스에서이 플러그인을 실행하고 싶지만 격리 모드로 온라인으로 실행할 수 없다고 생각합니다. = none, 온라인 CRM 인스턴스에서이 SharePoint 어셈블리를 사용하여 코드를 실행하는 다른 방법이 있습니까? ?

메시지 : 방법을 만들기 : ExecutePluginLogic 예외 : System.Security.SecurityException : 형식의 허가 'System.Security.Permissions.SecurityPermission, mscorlib에, 버전 = 4.0.0.0 요청을, 문화 = 중립 , PublicKeyToken = b77a5c561934e089 ' 실패했습니다.

에서 System.Net.AuthenticationManager.Register (IAuthenticationModule authenticationModule)에서 System.Security.CodeAccessPermission.Demand()에서 System.Security.CodeAccessSecurityEngine.Check (객체 수요, StackCrawlMark & stackMark, 부울 isPermSet)에서 Microsoft.SharePoint.Client.SharePointOnlineCredentials..ctor에서 Microsoft.SharePoint.Client.SharePointOnlineAuthenticationModule.EnsureRegistered()

MWLSPXRMToolkitOnline.Plugins.A에서 (문자열 사용자 이름, SecureString 비밀번호) MWLSPXRMToolkitOnline.Plugins.BasePlugin.Execute에서 ccountCreate.ExecutePluginLogic (IServiceProvider serviceProvider) (IServiceProvider serviceProvider)이었다 실패

동작은 : 실패한 첫 번째 권한 유형이었다 수요 :

시스템. 실패 어셈블리의 Security.Permissions.SecurityPermission 존이었다 : 샌드 박스 모드에서 실행할 때, 당신에 대한 참조를 포함 할 수 없습니다 내 컴퓨터

답변

1

하지 띌 다른 어셈블리. ILMerge를 사용하여 어셈블리를 결합 할 수도 있지만, 내가 당신이라면 다른 접근법을 취할 것입니다. 작업을 외부 웹 서비스로 푸시합니다.

+0

감사합니다. 내가 제안한 외부 웹 서비스 접근 방식을 취할 것입니다. – flowagss

0

샌드 박스 모드로 실행할 때 참조를 포함 할 수 없기 때문에 ILMerge를 사용하여 어셈블리를 결합하는 경우 ILMerge와 함께 '/ copyattrs'매개 변수를 사용하십시오. 당신이 NuGet 패키지 프로젝트에 ilMarge를 설치 한 경우 :

솔루션에서 파일을 편집 : ILMerge.props 변경 매개 변수 : 조언에 대한

<ILMergeAllowMultipleAssemblyLevelAttributes>true</ILMergeAllowMultipleAssemblyLevelAttributes> 
<ILMergeCopyAttributes>true</ILMergeCopyAttributes>