안전하지 않은 컨트롤을 사용할 때 SharePoint 페이지가 렌더링되지 않음

적용 대상
SharePoint Server 2013 SP1 SharePoint Foundation 2013 SP1 Microsoft SharePoint Foundation 2010 Service Pack 2

증상

다음 업데이트 중 하나를 설치한 후 일부 SharePoint 페이지는 렌더링되지 않고 다음과 같은 오류 메시지를 생성합니다.

참고

웹 파트 오류: 이 페이지의 웹 파트 또는 웹 양식 컨트롤을 표시하거나 가져올 수 없습니다. 형식을 찾을 수 없거나 안전한 형식으로 등록되지 않았습니다.

원인

업데이트를 설치한 후 SharePoint 2010 및 SharePoint 2013에서 ASP.NET 컨트롤의 허용 목록이 적용됩니다. SharePoint 페이지의 웹 파트 또는 컨트롤이 허용 목록에 추가되지 않으면 페이지가 렌더링되지 않습니다.

해결 방법

페이지가 SafeControls 목록에 없는 컨트롤을 사용하기 때문에 더 이상 렌더링되지 않는 경우 다음 단계를 수행합니다.

  1. SharePoint ULS(통합 로깅 서비스) 로그를 검토하여 9s9ay 태그 또는 컨트롤이 차단되었음을 나타내는 "속성으로 컨트롤 차단"이 포함된 메시지를 찾습니다.

  2. 오류 메시지에서 형식, 네임스페이스 및 어셈블리 강력한 이름을 식별합니다.

    • 예제 1

    다음 오류 메시지가 표시됩니다.
    "Contoso.Customizations.WebPartControl, Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a 형식을 찾을 수 없거나 안전한 것으로 등록되지 않았습니다."
    형식 = "WebPartControl"

    네임스페이스 = "Contoso.Customizations"

    어셈블리 강력한 이름 = "Contoso.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f8f11d50a3a"

    • 예제 2

    다음 오류 메시지가 표시됩니다.
    "속성 순회 태그를 사용하여 제어 차단 [tagName: SharePoint:WebPartControl][propName: propName1][type: typeName1]"
    Type = "WebPartControl"("typeName1"이 아님)

    형식 이름을 쿼리하여 Microsoft Docs 네임스페이스 및 어셈블리 데이터를 찾을 수 있습니다.

  3. SafeControls 요소(솔루션)에 설명된 대로 지정된 형식, 네임스페이스 및 어셈블리 강력한 이름에 대한 새 SafeControls 요소를 configuration/SharePoint/SafeControls 요소 아래의 Web.config 파일에 추가한 다음 Safe 특성을 TRUE로 설정합니다.

SafeControls 요소의 특성 값 형식에 대한 자세한 내용은 패키지 Designer 안전 컨트롤 표시의 12단계 표를 참조하세요.

해결 방법

안전하지 않은 컨트롤이 많은 경우 다음 단계에 따라 이 문제를 해결할 수 있습니다.

  1. configuration/SharePoint 요소 아래의 Web.config 파일에서 SafeMode 요소를 편집합니다.
  2. 값이 True인 ControlCompatMode 특성을 추가합니다.

주의

안전하지 않은 ASP.net 컨트롤을 실행할 수 있으므로 이 해결 방법은 권장하지 않습니다.