5

我们发现部署到运行 Sharepoint 2010 Publishing Site Collection 的生产服务器时存在问题。

我们正在将从 Visual Studio 打包的 WSP 部署到 Sharepoint Management Shell(卸载、重新安装解决方案)。它在过去就像一种魅力。我们添加了自定义母版页、css 文件、图像,后来我们成功添加了自定义页面布局。

我还在我的计算机上本地运行 SP,一切正常,通过部署功能添加新文件没有问题。我可以将它们整齐地添加到文档库中,甚至可以从 Elements 文件创建新文件夹。

但是,当我将 WSP 部署到生产服务器时,问题就出现了。我想向样式库中添加一些 JS 文件和一个 XSL 文件,但这些文件不会添加到文档库中。尽管没有错误,但部署过程顺利进行,当我在 Sharepoint Hive 中检查我的功能时,新文件在物理驱动器上!但是,它们不会被添加到虚拟文档库中。

我可以更新现有文件,如母版页和 CSS 文件,以便部署的功能正常工作。

我的猜测是它与权限问题或我的代码中的一些错误有关。但是我在部署时完全按照我们之前所做的那样做。

这是我的 Elements.xml 文件的样子:

<?xml version="1.0" encoding="utf-8"?>  
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">  
  <Module Name="ALayout" Url="_catalogs/masterpage" RootWebOnly="true" >  
    <File Path="ALayout\_a_intra.master" Url="_a_intra.master" Type="GhostableInLibrary" />  
  </Module>  
  <Module Name="ALayoutStyles" Url="Style Library" RootWebOnly="true" >  
    <File Path="ALayout\styles\z_aintra_core.css" Url="z_aintra_core.css" />  
    <File Path="ALayout\styles\aintra_std.css" Url="aintra_std.css" />  
</Module>  
  <Module Name="ALayoutStyleImages" Url="Style Library/img" RootWebOnly="true" >  
    <File Path="ALayout\styles\img\a-logobig.png" Url="a-logobig.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\bg.png" Url="bg.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\divider.png" Url="divider.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-bg-hovered.png" Url="nav-bg-hovered.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-bg-radius-left.png" Url="nav-bg-radius-left.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-bg-radius-right.png" Url="nav-bg-radius-right.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-bg-selected.png" Url="nav-bg-selected.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-bg.png" Url="nav-bg.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\nav-divider.png" Url="nav-divider.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\top_bg.png" Url="top_bg.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\user-account-radius-left.png" Url="user-account-radius-left.png" Type="GhostableInLibrary" />  
    <File Path="ALayout\styles\img\user-account-radius-right.png" Url="user-account-radius-right.png" Type="GhostableInLibrary" />  
  </Module>  
  <Module Name="ALayoutScript" Url="Style Library/js" RootWebOnly="true" >  
    <File Path="ALayout\js\script.js" Url="script.js" Type="GhostableInLibrary" />  
    <File Path="ALayout\js\plugins.js" Url="plugins.js" Type="GhostableInLibrary" />  
</Module>  
  <Module Name="ALayoutScriptLibs" Url="Style Library/js/libs" RootWebOnly="true" >  
    <File Path="ALayout\js\libs\jquery-1.4.2.min.js" Url="jquery-1.4.2.min.js" Type="GhostableInLibrary" />  
  </Module>  
</Elements>  

最后两个模块(用于 Javascript)是我无法部署到文档库的模块。我尝试了不同的文档库,但它仍然无法在生产服务器上运行,只能在本地运行。而且我无法通过 Feature 部署到 Sharepoint Hive。

任何人都可以想到我错过的东西吗?

4

2 回答 2

5

哇,解决方案很简单。我在 Sharepoint 管理中停用了该功能,然后重新激活它并部署了新文件。

为什么会这样,我不知道。如果我对我的功能进行版本控制而不是卸载-> 添加它可能会得到修复?为什么生产农场与本地的行为不同?等等

于 2010-11-19T13:19:24.247 回答
1

我想让你注意几点。只需检查您是否已经关注他们...

  1. 我希望你的 VS 解决方案中有“js”文件夹(在 ALayout 模块下)。

  2. 将 IgnoreIfAlreadyExists="FALSE" 属性添加到节点

    文件路径="ALayout\js\libs\jquery-1.4.2.min.js" Url="jquery-1.4.2.min.js" 类型="GhostableInLibrary" IgnoreIfAlreadyExists="FALSE"/

  3. 使用 ULSViewer 查看在生产中部署时的任何错误...

于 2010-11-16T11:01:16.353 回答