문제

Search-Center를 만들고 사용자 정의 마스터 페이지를 적용하고자합니다.모듈과 내 솔루션의 기능을 사용하여 MasterPage를 배포하려고합니다.모듈을 만들었고 Elements.xml은 처럼 보입니다.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="SearchcenterModule" Url="Suche/_catalogs/masterpage">
       <File Path="SearchcenterModule\minimal.master" Url="minimal.master" />
    </Module>
</Elements>
.

사이트 수집 기능에서 내 기능을 활성화하면 오류가 발생합니다

(null) "suche"를 찾을 수 없습니다. ...

여기서 "suche"가 내 하위 사이트의 이름 인 I.E.e. : http://mysharepoint/Suche

물론 파일을 수동으로 추가 할 수 있지만 기능 활성화를 사용하여 배포 할 수있는 방법이 있어야합니다.

도움말 주셔서 감사합니다.

도움이 되었습니까?

해결책

솔루션을 모르지만 기능 범위를 웹에 설정하려고 시도 했으므로 Default Module Definition과 Suche 하위 사이트 에서이 모듈의 활성화를 사용하도록 시도 했습니까?

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="MasterPageModule" Url="_catalogs/masterpage">
    <File Url="MasterPage.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="False" />
  </Module>
</Elements>
.

작동하지 않으면 ~ 사이트 토큰을 사용하려고 시도 했습니까?

<Module Name="SearchcenterModule" Url="~Site/_catalogs/masterpage">
.

다른 팁

MasterPages 및 PageLayout은 사이트 / 하위 사이트가 아닌 SiteCollections에만 배포 할 수 있습니다.

그래서 기능을 범위 지정해야합니다.FeatureReceiver는 특정 SPWeb에서 MasterPage를 설정할 수 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="SearchcenterModule" Url="_catalogs/masterpage">
       <File Url="minimal.master" IgnoreIfAlreadyExists="TRUE" Type="GhostableInLibrary" />
    </Module>
</Elements>
.

IgnoreIfAlreadyExists를 사용하면 새로운 변경 사항이 나타나면 배포 할 때 덮어 씁니다.Type="GhostableInLibrary"는 MasterPage & PageLayouts 갤러리에서 새로운 MasterPage / PageLayout이 표시되는지 확인합니다.

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