2015-10-15 171 views
0

我最近使用Visual Studio 2013將自定義列表定義的自定義Web部件模板解決方案(wsp)從SP2010遷移到SP2013。將組件版本設置爲15,並通過.Net Framework 4.5編譯。部署網絡成功。但有兩個問題: 1.當我使用剛剛部署的自定義模板創建網站時,頁面顯示混亂的圖標和附加屏幕截圖。另外,當試圖向網站添加權限時,網站的權限頁面上會出現一大堆色彩斑斕的雜亂圖標。
2.另一個問題是,一些CSS,特別是ms-WPxxxxxxxx(如WPTitle,WPHeader等)正在被繼承,可能來自corev4.css。這就是View Source顯示的內容。自定義CSS在主頁(CustomDefault.aspx)中用「!important」標籤定義,但似乎沒有任何用處。SharePoint 2010到2013 SharePoint遷移問題

同樣的解決方案在SP2010上工作得很完美。

疑犯大多數(1)與(2)有關,我可能是錯的。

要解決(1),從MS社區論壇的SP人員建議,我將默認主頁面更改爲Oslo.master ==>,清除了混亂的圖標,但CSS和Javascript無法正常工作。所以我不得不恢復。 我也嘗試將「../_layouts/ ..」改爲「../_layouts/15/ ..」,但沒有任何區別。

MSDN社區主題: https://social.msdn.microsoft.com/Forums/office/en-US/f9199e0c-972b-45b9-b8fb-772028bc22d9/cluttered-icons-in-sharepoint-2013-post-migration-from-sp2010?forum=sharepointdevelopmentprevious#74fb3648-9776-4f68-82ba-b212102a1492

任何幫助將不勝感激。

enter image description here

+0

經過漫長的戰鬥,我只能縮小問題範圍,部分解決問題。我在Custom WebPart頁面上註冊了Corev15.css(SP2013默認CSS),因爲我們沒有Master頁面,圖標的混亂消失了。但不是在所有頁面上,AllItems.aspx,用戶權限頁面等等都有。從開發人員工具中,我可以看到這些頁面正在使用Corev4.css(SP2010),圖像和佈局路徑爲「.../15/images/..」。任何想法如何解決這個問題。 –

回答

0

經過漫長的戰鬥,我終於解決了這個問題。發現SiteDefinition模塊中的'onet.xml'指的是SharePoint 2010母版頁v4.master。由於這是另一個項目,因此我不知道該文件將引用SP2010資源。許多博客建議僅將資源路徑(如/ _layouts /')更改爲'/ _layouts/15 /'和'/ ControlTemplate /'更改爲'/ ControlTemplate/15 /',但沒有看到任何關於主頁面更改的提及。對於完全開箱即用的解決方案來說,情況可能並非如此。因此,在項目解決方案中搜索'v4.master'(SP2010),如果找到,請將其更改爲自定義母版頁(如果有)或默認母版頁。但是,如果您使用了專門用於SP2010或更早版本SharePoint的任何其他母版頁或自定義母版頁,則必須選擇一個等同的母版頁或對其進行自定義以使其與SP2013兼容。

所以這裏的代碼片段被改變了,它擺脫了混亂的圖標,希望它可以幫助那裏的人。

<!-- <Configuration ID="-1" Name="NewWeb" MasterUrl="_catalogs/masterpage/**v4.master**" /> 
    <Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/**v4.master**"> 
    <Configuration ID="1" Name="Blank" MasterUrl="_catalogs/masterpage/**v4.master**"> 
    <Configuration ID="2" Name="DWS" MasterUrl="_catalogs/masterpage/**v4.master**"> --> 

    <Configuration ID="1" Name="NewWeb" MasterUrl="~masterurl/**default.master**" /> 
    <Configuration ID="0" Name="Default" MasterUrl="~masterurl/*default.master*"> 
    <Configuration ID="1" Name="Blank" MasterUrl="~masterurl/**default.master**"> 
    <Configuration ID="2" Name="DWS" MasterUrl="~masterurl/**default.master**">