증상
샌드박스 솔루션 또는 웹 파트를 사용할 때 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)에서 형식을 확인할 수 없습니다. at …... |
| ajlz0 |
참고: Exception System.ArgumentException에 대한 오류 메시지 가져오기: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 형식을 확인할 수 없습니다. at …... |
2022년 6월 보안 업데이트 또는 이후 보안 업데이트가 설치된 SharePoint Foundation 2013 및 2022년 7월 보안 업데이트 또는 이후 보안 업데이트가 설치된 SharePoint Enterprise Server 2016의 경우:
| 이벤트 ID | 메시지 |
|---|---|
| 6k389 | 참고: 잘못된 형식: type=XXXXX; assembly=YYYYY, SPUserCodeSerializationBinder. 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=2196531 방문하여 이 오류를 resolve 방법을 알아보세요. |
| ajrme |
참고: ExecuteRequestInSandBox 호출이 실패했습니다. System.ArgumentException: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 형식을 확인할 수 없습니다. at …... |
| ajlz0 |
참고: Exception System.ArgumentException에 대한 오류 메시지 가져오기: Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)에서 형식을 확인할 수 없습니다. at …... |
원인
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 방문하여 이 오류를 resolve 방법을 알아보세요.
차단된 유형과 어셈블리에 유의하십시오.
Sandbox Solutions 또는 웹 파트가 위치한 웹 응용 프로그램의 web.config 파일을 엽니다. web.config 경로는 일반적으로 다음과 같습니다.
C:\inetpub\wwwroot\wss\VirtualDirectories\<web 애플리케이션 포트>
구성/SharePoint/SafeMode 섹션에 AllowedListItems 요소를 추가합니다.
AllowedListItems 요소에 이름 속성이 AllowedSandboxType으로 설정된 AllowedItem 요소를 다음 형식으로 추가합니다.
특정 형식의 차단을 해제하려면 다음과 같이 Type 속성을 사용하여 요소를 추가합니다.
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/>
특정 어셈블리의 차단을 해제하려면 다음과 같이 Assembly 속성을 사용하여 요소를 추가합니다.
<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>