문제

WSP 빌더를 사용하여 사용자 정의 작업을 만들려고하고 있고, 폴더 구조는 다음과 같은 것입니다.

여기에 이미지 설명을 입력하십시오

이제 솔루션을 배포하려고 할 때 아무 것도 나오지 만 ULS 로그 에서이 오류가 발생합니다.

어셈블리 '', 클래스 ''에서 컨트롤을 생성하지 못했습니다. 어셈블리 이름 '' '', '클래스 이름' '은 URL에서 웹에 허용되지 않습니다. ''유형은 안전으로 등록되지 않습니다.

Assembly Name을 제거했지만,이 Add-A-Web-Part-adding-add-a-web-part-indell-add-a-web-part-indere-add-a-web-part-addel-add-add Builder에는 WSP에 Manifest.xml이 포함되어 있으며 문제가 해결됩니까?

도움이 되었습니까?

해결책

모듈 을 프로젝트에 추가하고 속성 창을 열고 새 추가 된 모듈의 안전한 제어 엔티티 속성을 설정할 수 있습니다.이 속성을 사용하면 안전 컨트롤의 컬렉션을 추가 할 수 있습니다.

다른 팁

피처 재시작을위한 FeatureActivated 함수에 이것을 추가해야합니다

        SPWebConfigModification safeControl = new SPWebConfigModification();
                    safeControl.Path = "configuration/SharePoint/SafeControls";
                    safeControl.Owner = ModuleNameGoesHere;
                    safeControl.Name = "SafeControl[@Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091'][@Namespace=Namespace.Name.goes.Here'][@TypeName='*'][@Safe='True']";
                    safeControl.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
                    safeControl.Sequence = 0;
                    safeControl.Value = "<SafeControl Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091' Namespace=Namespace.Name.goes.Here' TypeName='*' Safe='True' />";
                    mService.WebConfigModifications.Add(safeControl);
                    mService.Update();
                    mService.ApplyWebConfigModifications();
.

위의 코드는 기능을 추가하거나 Web.config에서 안전한 컨트롤을 사용할 수 있습니다! 이것은 권장되는 방식이며 모범 사례를 준수합니다. 따라서 기능을 활성화하면 안전한 컨트롤을 추가합니다.)

편집

위의 예와 유사한 여기에서 자세히 찾을 수 있습니다! 그리고 예이는 모범 사례이며 수동으로 해결하지 않고 SafeControl을 등록하기 위해 Microsoft 지정실에 넣었으며 WebApplication 내의 필수 Web.config 내의 필수 Web.config에서 기능을 활성화 할 때마다 자동으로 추가됩니다. 시간 :) :

web.config 수정의 컬렉션은 일련의 명령입니다. Microsoft SharePoint에서 Web.config 조작기가 처리 할 때 Foundation, Web.config 파일의 상태를 변경하십시오. 당신은 끈을 할 수 있습니다 이러한 명령 세트를 함께 사용하여 원하는 것을 적용하도록하십시오. web.config 내의 태그 및 속성. 각 수정은 표현됩니다 관리 객체 모델의 객체로 사용됩니다.

spwebapplication의 webconfigmodifications 속성을 사용하거나 web.config 수정 컬렉션을 얻는 spwebservice 클래스 웹 응용 프로그램 또는 모든 웹 응용 프로그램에서 웹 서비스. 당신이 정의한 수정을 적용하려면 spwebconfigModification 클래스는 서버의 web.config 파일에 연결됩니다 농장에서 현재의 ApplyWebConfigModifications 메소드를 호출합니다 다음과 같이 콘텐츠 웹 서비스 개체 : spwebservice.contentservice.applyweplybconfigModification

http://msdn.microsoft.com/ en-us / library / microsoft.sharepoint.administration.spwebconfigmodification.aspx

도움이되기를 바랍니다 :)

편집 2

WebPart가있는 경우 YES는 다음과 같은 manifest.xml이라는 매니페스트 파일이 있어야합니다.

<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{C1938CC9-A1A3-4e20-932C-33ECB2C47481}">
  <Assemblies>
    <Assembly DeploymentTarget="GlobalAssemblyCache" Location="WebPartsname.dll">
      <SafeControls>
        <SafeControl Assembly="namespacegoeshere, Version=1.0.0.0, Culture=neutral, PublicKeyToken=918d2ffdab83e9e8"
                     Namespace="namespacegoeshere" TypeName="*" Safe="True"/>
      </SafeControls>
    </Assembly>
  </Assemblies>
</Solution>
.

그것은 어떤 빛을 밝히기를 바랍니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top