증상
샌드박스 솔루션 또는 웹 파트를 사용할 때 SharePoint ULS(Unified Logging System) 로그에 다음과 유사한 오류 메시지가 표시될 수 있습니다. 이러한 메시지는 일부 샌드박스 솔루션 또는 웹 파트가 차단되었음을 나타냅니다.
2022년 5월 보안 업데이트가 설치된 SharePoint Foundation 2013 및 SharePoint Enterprise Server 2016의 경우:
이벤트 ID |
메시지 |
ajrme |
ExecuteRequestInSandBox 호출이 실패했습니다. System.ArgumentException: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 유형을 확인할 수 없었습니다 |
ajlz0 |
Exception System.ArgumentException에 대한 오류 메시지 표시: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 유형을 확인할 수 없었습니다. |
2022년 6월 보안 업데이트 또는 이후 보안 업데이트가 설치된 SharePoint Foundation 2013 및 2022년 7월 보안 업데이트 또는 이후 보안 업데이트가 설치된 SharePoint Enterprise Server 2016의 경우:
이벤트 ID |
메시지 |
6k389 |
유효하지 않은 유형: SPUserCodeSerializationBinder의 유형 = XXXXX; 어셈블리 = YYYY. 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=2196531을 방문하여 이 오류를 해결하는 방법을 알아보세요. |
ajrme |
ExecuteRequestInSandBox 호출이 실패했습니다. System.ArgumentException: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 유형을 확인할 수 없었습니다 |
ajlz0 |
Exception System.ArgumentException에 대한 오류 메시지 표시: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 유형을 확인할 수 없었습니다. |
원인
2022년 5월 보안 업데이트부터 SharePoint 샌드박스 서비스는 기본적으로 실행할 수 있는 유형과 어셈블리를 추가로 제한합니다.
해결 방법
이 문제를 해결하려면 SharePoint 샌드박스 서비스가 실행될 수 있도록 타사의 유형 또는 어셈블리를 등록해야 합니다. 이렇게 하려면 다음과 같이 하십시오.
-
SharePoint Foundation 2013의 경우 2022년 6월 보안 업데이트 또는 이후 보안 업데이트를 설치합니다. SharePoint Enterprise Server 2016의 경우 2022년 7월 보안 업데이트 또는 이후 보안 업데이트를 설치합니다.
-
영향을 받는 샌드박스 솔루션 또는 웹 파트를 사용하여 문제를 트리거합니다.
-
SharePoint ULS 로그를 열고 이벤트 ID "6K389"를 찾습니다. 해당 이벤트 ID와 함께 다음 메시지가 표시됩니다.
유효하지 않은 유형: SPUserCodeSerializationBinder의 유형 = XXXXX; 어셈블리 = YYYYY. 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=2196531을 방문하여 이 오류를 해결하는 방법을 알아보세요.
-
차단된 유형과 어셈블리에 유의하십시오.
-
Sandbox Solutions 또는 웹 파트가 위치한 웹 응용 프로그램의 web.config 파일을 엽니다. Web.config의 경로는 일반적으로 다음과 같습니다.
C:\inetpub\wwwroot\wss\VirtualDirectories\<web application port> -
구성/SharePoint/SafeMode 섹션에 AllowedListItems 요소를 추가합니다.
-
AllowedListItems 요소에 이름 속성이 AllowedSandboxType으로 설정된 AllowedItem 요소를 다음 형식으로 추가합니다.
-
특정 유형 차단을 해제하려면 다음과 같이 유형 속성이 있는 요소를 추가합니다.
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
특정 어셈블리의 차단을 해제하려면 다음과 같이 어셈블리 속성이 있는 요소를 추가합니다.
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
예제는 다음과 같습니다.
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedSandboxType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedSandboxType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>