增加新的web部件给一个已经部署的解决方案
-
09-12-2019 - |
题
我有一个网站项目建立在visual studio2010年,它已经成功部署到我的生产环境。我最近已作出一些改变到该网站,还需要添加一个新的支持网站的项目(基于性web部件和它们之间的相互关系,我想这将是有意义的保持在同一项目,因此部分相同的特征)。
无论如何,之后作出的改变,我部署到服务器使用的命令'更新spsolution'.然而,虽然我所做的更改现有网站是立即可见在任何网页的网站部署,我不能部署新创建的网站一部分的特征,事实上我甚至不能发现它在该网部件库。
这只是事后当我删除了新的网站,从现有的项目和创建一个全新的项目,一个全新的wsp文件和部署新的解决方案然后激活新的功能,我能够部署新的网站.
我想知道,是否有什么我做了错误的当运行'更新spsolution'的命令,结果在我的新加入的网站不可用的?
解决方案
您需要重新激活更新的功能。重新激活后,Web部件应在库中显示。
其他提示
如果你想这样做"正确的"的方式,那么你应该有用的功能升级。
这是不幸的是不简单,但是给了你很大的控制时会发生什么部署一个新版本的功能。
在你的情况下,它将涉及:
- 添加elements.xml 文件的新的网络内部的部件
<ApplyElementManifests>
内部<UpgradeActions>
在feature.xml - 更新方案使用
update-spsolution
你有没有 - 升级的特征(可以通过使用 SharePoint2010功能的升级包)
有关的详细信息功能升级,看到克里斯斯家系列开始 功能升级(第1部分)-基础
虽然它可能似乎如矫枉过正的一个简单的项目,我仍然认为这是一件正确的事情,因为以下原因:
- 这是一个很好的练习,获得到你应该总是认为升级成为你的特点
- 如果你的特征是做什么的时启用/停用,如加数据或清理后再启用/停用可能不是一个选项
- 它可以很容易找到所有的地方为升级的一个特征(建设中)比环虽然看起来对那里的特点是激活和随后关闭/激活
我发现更新WSP有时可能有点棘手。有时,如果您遇到奇怪的行为,有时会做一个完整的Finainodicetagcode / Uninstall-SPSolution
会有所帮助。
在我的经验中,部署表单Visual Studio通常在没有挂钩的情况下熄灭。因此,如果我正在部署问题,我会尽量匹配它的部署过程。下面是Visual Studio中的SharePoint项目的“默认”部署配置的描述:
...包中的wsp文件,回收应用程序池,收回 以前的解决方案版本,添加解决方案,激活所有 功能,并运行部署后命令行。
您需要从Web部件库重新激活Web部件 转到“网站”操作>网站设置 在画廊下>网页 在Web零件库文档>新文档中 您将为新的Web部件选择新的Web部件,然后单击填充库 在“新建Web”部分编辑属性中,将组更改为自定义,然后单击“保存” 之后,您将在自定义Web部件中精确新的Web部件
在停用后,然后激活并最终回收应用程序池解决我的问题。现在Web部分显示在Gallery中。