다음을 통해 공유


SharePoint 솔루션 문제 해결

Visual Studio 디버거를 사용하여 SharePoint 솔루션을 디버그할 때 다음 문제 또는 경고가 발생할 수 있습니다. 자세한 내용은 SharePoint 2007 워크플로 솔루션 디버깅을 참조하세요.

샌드박스 비주얼 웹 파트의 토큰 제한 사항

샌드박스 솔루션의 비주얼 웹 파트는 SharePoint 런타임이 지원하는 $SPUrl과 같은 표준 토큰을 처리할 수 없습니다. 이에 따라 URL은 확인되지 않으며, 다음 예제와 같이 스크립트 요소에서 URL을 직접 참조하는 경우 비주얼 웹 파트 디자이너의 디자인 뷰에서 내용을 미리 볼 수 없습니다.

<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>

이 제한 사항을 해결하고 토큰을 확인하려면 리터럴을 사용하여 URL을 참조하십시오.

<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />

프로젝트 및 프로젝트 항목 이름의 문자 제한

프로젝트와 프로젝트 항목의 이름에는 SharePoint 2010의 배포 경로에서 유효한 문자만 포함될 수 있습니다. 다른 문자는 허용되지 않습니다.

오류 메시지

"잘못된 문자" 오류 메시지입니다.

해결 방법

SharePoint 프로젝트 및 프로젝트 항목 이름의 경우 다음 문자만 사용합니다.

  • 영숫자 ASCII 문자

  • Space

  • 마침표(.)

  • 쉼표(,)

  • 밑줄(_)

  • 대시(-)

  • 백슬래시(\)

    프로젝트가 패키지될 때 유효성 검사 규칙은 배포 중인 각 파일의 배포 경로 속성에 이러한 유효한 문자만 포함되어 있는지 확인합니다.

사용자 지정 필드를 만들 때 발생하는 오류

Visual Studio에서 사용자 지정 필드는 XML로 정의됩니다. 필드가 정의되어 있지 않거나 특정 형식을 사용하여 참조되는 경우 오류가 발생할 수 있습니다.

오류 메시지

패키징 시 "잘못된 문자" 오류 메시지가 발생합니다.

해결 방법

필드 정의의 ID는 다음 예제와 같이 중괄호로 묶은 GUID여야 합니다.

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Type="Note"
    Name="PatientName"
    DisplayName="Patient Name"
    Group="A Custom Group">
</Field>.

다음 예제에서 보여 주듯이 콘텐츠 형식의 필드 참조는 시작/끝 요소(<FieldRef></FieldRef>)를 사용하는 대신 빈 요소 형식(<FieldRef />)을 사용하여 정의해야 합니다.

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Name="PatientName"
    DisplayName="Patient Name"
    Required="TRUE"/>

필드의 소스 XML에 잘못된 형식이나 유효하지 않은 XML 파일과 같은 문제가 있는 경우 "파일을 구문 분석할 수 없음" 오류가 발생합니다.

영어가 아닌 새로운 사이트 정의가 배포 후 사이트 생성 페이지에 표시되지 않음

영어가 아닌 Visual Studio 버전(즉, 1033 이외의 로캘 ID를 사용하는 버전)을 사용하여 사이트 정의를 만들고 배포하면 SharePoint 사용자 지정 탭이 템플릿 선택 상자에 나타나지 않고 새 사이트 템플릿이 새 SharePoint 사이트 페이지에 나타나지 않습니다.

오류 메시지

없음

해결 방법

이 문제는 webtemp_SiteDefinitionProject1.xml 같은 webtemp 사이트 정의 구성 파일의 Path 속성에 있는 값이 올바르지 않아 발생합니다. 배포 위치에 있는 webtemp 파일의 Path 속성에서 1033을 적절한 로캘 ID로 변경합니다. 예를 들어 일본어 로캘을 사용하려면 값을 1041로 변경합니다. 자세한 내용은 참조 Microsoft에 의해 할당되는 로캘 ID를 참조하세요.

워크플로 프로젝트가 클린 시스템에 배포되면 오류가 표시됨

이 문제는 클린 시스템의 Visual Studio에서 워크플로 프로젝트를 배포하는 경우 발생합니다. 클린 시스템은 Visual Studio 및 SharePoint를 새로 설치했지만 워크플로 프로젝트를 배포하지 않은 컴퓨터입니다.

오류 메시지

SharePoint 목록: 워크플로 기록을 찾을 수 없습니다.

해결 방법

이 오류는 워크플로 기록 목록이 누락되어 발생합니다. 개발 환경은 클린 시스템이므로 워크플로가 배포되지 않았고 워크플로 기록 목록이 아직 존재하지 않습니다. 이 문제를 해결하려면 워크플로 마법사를 다시 열어 워크플로 기록 목록을 생성해야 합니다.

워크플로 마법사를 다시 사용하려면

  1. 솔루션 탐색기에서 워크플로 노드를 선택합니다.

  2. 속성 창에서 줄임표(…) 단추가 있는 임의의 속성의 줄임표 단추를 선택합니다.

업데이트된 이미지를 보려면 사용자가 디버깅하는 동안 브라우저에서 애플리케이션 페이지를 새로 고쳐야 함

HTML Image 컨트롤 같은 이미지를 표시하는 컨트롤이 있는 애플리케이션 페이지가 포함된 SharePoint 솔루션을 디버그하는 경우, 브라우저에서 페이지를 새로 고침해야 이미지에 적용된 변경 내용이 표시됩니다.

오류: 사이트 위치가 잘못됨

이 문제는 SharePoint Server가 설치되지 않으면 발생할 수 있습니다. 사용자에게 SharePoint 사용자 지정 마법사에 지정된 SharePoint Web 사이트에 대한 관리자 액세스 권한이 없는 경우에도 발생할 수 있습니다.

오류 메시지

  • SharePoint 사이트 위치가 잘못되었습니다.

해결 방법

사이트 삭제 웹 이벤트가 이벤트 수신자 프로젝트에서 발생하지 않음

이벤트 수신기 프로젝트를 만들고 "사이트 삭제 중" 같은 특정 웹 이벤트를 선택하면 이벤트가 발생하지 않습니다.

오류 메시지

없음

해결 방법

이 문제는 사이트 수준 이벤트를 처리하려면 기능 범위가 "사이트"여야 하지만 이벤트 수신자 프로젝트의 기본 기능 범위가 "웹"이어서 발생합니다. 영향을 받는 웹 이벤트는 다음과 같습니다.

  • 사이트 삭제 중(WebDeleting)

  • 사이트 삭제 완료(WebDeleted)

  • 사이트 이동 중(WebMoving)

  • 사이트 이동 완료(WebMoved)

    문제를 해결하려면 이벤트 수신자의 기능 범위를 다음과 같이 변경해야 합니다.

이벤트 수신기의 기능 범위를 변경하려면

  1. 솔루션 탐색기에서 파일을 두 번 클릭하거나 바로 가기 메뉴를 연 다음 열기를 선택하여 기능 디자이너에서 이벤트 수신기의 .feature 파일을 엽니다.

  2. 범위 옆에 있는 화살표를 선택한 다음 나타나는 목록에서 사이트를 선택합니다.

비즈니스 데이터 연결 모델 프로젝트의 식별자 이름이 변경된 후 배포 오류가 표시됨

이 문제는 BDC(비즈니스 데이터 연결) 모델에서 엔터티의 식별자 이름을 변경한 다음 솔루션을 배포하면 발생합니다.

오류 메시지

  • <model name>에 다음 외부 콘텐츠 형식 활성화 오류가 있습니다.

  • 이름이 '<model name>'인 IMetadataObject의 필드 'name'에 중복되는 값이 있습니다.

해결 방법

이 문제를 해결하려면 모델을 수동으로 삭제한 다음 솔루션을 다시 배포해야 합니다. 다음 도구 중 하나를 사용하여 모델을 삭제할 수 있습니다.

  • SharePoint 2010 중앙 관리. 자세한 내용은 Microsoft TechNet 웹 사이트의 BDC 모델 관리를 참조하세요.

  • Windows PowerShell. 명령 프롬프트에서 Remove-SPBusinessDataCatalogModel 명령을 입력하면 모델을 삭제할 수 있습니다. 자세한 내용은 Microsoft TechNet 웹 사이트의 일반 cmdlet(SharePoint Server 2010)을 참조하세요.

SharePoint Server에서 IIS 애플리케이션 풀을 재활용하는 중 배포 오류가 발생했습니다.

이 문제는 IIS 6 WMI 호환성 기능 및 .NET Framework 3.5가 SharePoint Server 컴퓨터에 설치되어 있지 않은 경우에 발생합니다.

오류 메시지

  • 배포 단계 'IIS 애플리케이션 풀 재활용'에서 오류 발생: 잘못된 네임스페이스
  • 배포 단계 'IIS 애플리케이션 풀 재활용'에서 오류 발생: 작업이 취소되었습니다.

해결 방법

이 문제를 해결하려면 SharePoint Server 컴퓨터에서 Windows 기능 IIS 6 WMI 호환성이 설치되어 있는지 확인합니다.

  • Windows PowerShell. get-windowsfeature -name Web-WMI라는 PowerShell 명령을 실행하여 이 기능이 설치되어 있는지 확인할 수 있습니다. 설치됨으로 표시되지 않으면 install-windowsfeature -name Web-WMI라는 PowerShell 명령을 실행하여 설치할 수 있습니다. 애플리케이션 풀을 재활용하는 동안 오류가 계속 발생하는 경우 get-windowsfeature -name NET-Framework-Coreinstall-windowsfeature -name NET-Framework-Core를 실행하여 .NET Framework 3.5도 컴퓨터에 설치되어 있는지 확인합니다.

SharePoint에서 비주얼 웹 파트를 보려고 하면 오류가 표시됨

이 문제는 사용자 컨트롤의 Path 속성이 "CONTROLTEMPLATES\" 문자열로 시작하지 않을 때 발생합니다.

오류 메시지

  • '/_CONTROLTEMPLATES/<프로젝트 이름>/<웹 파트 이름>/<사용자 컨트롤 이름>.ascx' 파일이 없습니다.

  • '/' 애플리케이션의 서버 오류.

해결 방법

이 문제를 해결하려면

  1. 솔루션 탐색기에서 파일 확장명이 .ascx인 사용자 정의 컨트롤 파일을 선택합니다.

  2. 메뉴 모음에서 보기>속성 창을 선택합니다.

  3. 속성 창에서 Deployment Location 노드를 확장합니다.

  4. Path 속성의 값이 "CONTROLTEMPLATES\" 문자열로 시작하는지 확인합니다.

작업 양식 필드를 포함하는, 재사용 가능한 가져온 워크플로가 실행될 때 오류가 표시됨

이 문제는 필드가 있는 작업 양식이 포함된 워크플로를 가져온 다음, 워크플로를 가져온 것과 동일한 시스템에서 새 워크플로를 실행하면 발생합니다.

오류 메시지

배포 단계 '기능 활성화'에서 오류 발생: [Guid] 기능에 정의된 Id가 [Guid]인 필드가 현재 사이트 컬렉션이나 하위 사이트에서 발견되었습니다.

해결 방법

이 오류는 Visual Studio의 재사용 가능한 워크플로 가져오기 프로젝트가 작업 양식 필드 ID를 변경하지 않기 때문에 발생하는 필드 ID 충돌의 결과입니다. 가져온 워크플로를 원래 워크플로가 포함된 동일한 서버에 배포하면 필드 ID 충돌이 발생합니다.

이 문제를 해결하려면 찾기 및 바꾸기 기능을 사용하여, 가져온 모든 워크플로 파일에서 필드 ID 특성 값을 변경해야 합니다.

이름이 바뀐 가져온 목록 인스턴스가 실행될 때 오류가 표시됨

이 문제는 가져온 목록 인스턴스의 이름을 바꾼 다음, Visual Studio에서 실행하면 발생합니다.

오류 메시지

빌드 오류: 배포 단계 '기능 활성화'에서 오류 발생: Template\Features\[import projectfeaturename]\Files\Lists\[oldlist name]\Schema.xml 파일이 없습니다.

해결 방법

목록 인스턴스를 가져오면 CustomSchema라는 특성이 목록 인스턴스의 Elements.xml 파일에 추가됩니다. Elements.xml에는 목록 인스턴스에 대한 사용자 지정 schema.xml의 경로가 포함됩니다. Visual Studio에서 목록 인스턴스의 이름을 바꾸면 사용자 지정 schema.xml의 배포 경로가 변경되지만, CustomSchema 특성의 경로 값은 업데이트되지 않습니다. 그 결과 목록 인스턴스는 기능이 활성화될 때 CustomSchema 특성에서 지정한 기존 경로에서 schema.xml 파일을 찾을 수 없게 됩니다.

이 문제를 해결하려면 CustomSchema 특성에서 schema.xml 파일의 배포 위치 경로를 업데이트해야 합니다.

IIS에서 종료한 SharePoint 디버깅 세션

이 문제는 Visual Studio SharePoint 솔루션에서 중단점을 설정하고 F5 키를 선택하여 실행한 다음, 90초 넘게 중단점에 머무르는 경우 발생합니다.

오류 메시지

디버깅 중인 웹 서버 프로세스가 IIS(인터넷 정보 서비스)에 의해 종료되었습니다. IIS에서 애플리케이션 풀 ping 설정을 구성하여 이 문제를 방지할 수 있습니다. 자세한 내용은 도움말을 참조하세요.

해결 방법

기본적으로 IIS 애플리케이션 풀은 애플리케이션이 응답할 때까지 90초 동안 기다린 후 애플리케이션을 닫습니다. 이 프로세스를 애플리케이션 "핑"이라고 합니다. 이 문제를 해결하려면 대기 시간을 늘리거나 애플리케이션 핑을 완전히 사용하지 않도록 설정해야 합니다.

IIS 앱 풀 설정에 액세스하려면

  1. IIS 관리자를 엽니다.

  2. 연결 창에서 SharePoint 서버 노드를 확장하고 애플리케이션 풀 노드를 선택합니다.

  3. 애플리케이션 풀 페이지에서 SharePoint 애플리케이션 풀(대부분의 경우 "SharePoint - 80")을 선택하고, 작업 창에서 고급 설정 링크를 선택합니다.

  4. IIS 시간 제한 전에 대기 시간을 늘리려면 Ping 최대 응답 시간(초) 의 값을 90초보다 큰 값으로 변경합니다.

  5. IIS 핑을 사용하지 않도록 설정하려면 Ping 사용False로 설정합니다.

자동 취소를 사용하면 SharePoint에서 목록 인스턴스가 분리됨

이 문제는 다음 단계를 수행하면 발생합니다.

  1. Visual Studio에 목록 인스턴스가 있는 목록 정의를 만듭니다.

  2. F5 키를 선택하여 솔루션을 실행합니다.

  3. 디버깅을 중지하거나 SharePoint 사이트를 닫습니다.

  4. SharePoint 사이트를 다시 열고 목록 인스턴스를 엽니다.

오류 메시지

'/' 애플리케이션의 서버 오류.

해결 방법

이 오류는 SharePoint 솔루션의 디버그 세션을 닫은 후 자동 취소 기능이 솔루션을 취소하기 때문에 발생합니다. 취소는 SharePoint에서 목록 정의를 삭제하지만 목록의 인스턴스를 삭제하지는 않습니다. 목록 인스턴스에는 기본 목록 정의가 필요합니다.

이 문제를 해결하려면 메뉴 모음에서 빌드>배포를 선택하여 솔루션을 배포해야 합니다. (F5 키를 선택하여 솔루션을 디버그하면 안 됩니다.) 그런 다음 SharePoint에서 목록 인스턴스를 삭제합니다.

원래 SharePoint 솔루션이 내보낸 버전으로 대체됨

SharePoint 솔루션을 내보내고 Visual Studio로 가져온 다음, 솔루션을 내보낸 것과 동일한 사이트에 다시 배포하면 원래 SharePoint 솔루션이 대체됩니다. 이 문제는 원래 솔루션이 활성화되지 않은 서버에 솔루션을 배포할 때는 발생하지 않습니다.

오류 메시지

없음

해결 방법

솔루션을 내보낸 사이트에 솔루션을 덮어쓰지 않으려면 Visual Studio 프로젝트에 있는 모든 가져온 기능의 SolutionID와 Feature ID의 GUID를 변경해야 합니다.

디버깅을 시작할 때 오류가 나타남

Visual Studio에서 SharePoint 솔루션의 디버깅을 시작할 때 지정한 키가 사전에 없기 때문에 Visual Studio에서 Web.config 파일을 로드할 수 없다는 오류가 발생합니다.

오류 메시지

Web.config 구성 파일을 로드할 수 없습니다. 파일에 잘못된 형식의 XML 요소가 있는지 확인하고 다시 시도합니다. "지정된 키가 사전에 없습니다."라는 오류가 발생했습니다.

해결 방법

이 문제를 해결하려면 Visual Studio에서 SharePoint 프로젝트의 사이트 URL 속성 값이 웹 애플리케이션의 대체 액세스 매핑에 대한 기본 영역에 할당된 URL과 일치하는지 확인합니다. 인트라넷 등의 다른 영역을 URL에 사용하여 오류를 해결할 수 없습니다. 프로젝트의 사이트 URL과 기본 영역의 URL은 일치해야 합니다. 대체 액세스 매핑에 액세스하려면 SharePoint 2010 중앙 관리 유틸리티를 열고 애플리케이션 관리 링크를 선택한 다음 웹 애플리케이션 아래에서 대체 액세스 매핑 구성 링크를 선택합니다. 자세한 내용은 웹 애플리케이션용 영역 만들기를 참조하세요.