在默认情况下,使用VS2010 开发的SharePoint 2010 解决方案将会被打包成为解决方案包,在Bin 目录下的 .wsp 格式文件。使用VS2010 开发的SP解决方案都默认为沙盒解决方案 (sandbox solution).
可以使用两种方式对解决方案进行部署:
但在部署之前,请确定在 SharePoint 2010 管理中心 ( Central Admin ) 中
系统设置 (System setting ) -> 管理服务器上的服务 (Manage service on serve) 找到沙盒服务并开启 (图.1)
图.1
方法一: 使用图形界面进行部署
在网站设置中, 库->解决方案->在上方解决方案栏中选择上传解决方案,在解决方案上传后, 激活。 (图.2)
图.2
方法二: 使用PowerShell 命令行进行部署
在开始菜单 Microsoft SharePoint 2010 Products 中找到 SharePoint 2010 Management Shell, 这是加了SharePoint管理模块的 PowerShell, 使用管理员身份运行。
上传解决方案到网站命令格式为:
Add-SPSolution -LiteralPath <SolutionPath>
例子:
激活解决方案命令格式:
Install-SPUserSolution –Identity <Solution> –Site <SiteURL>
例子:
如果未启动 沙盒服务将出现以下情况:
net在工程的下面生成了WSP包,在Debug下面。需要放到生产环境去。
2007的时候做了个bat来部署,用STSADM,到了2010就习惯敲代码了:在SharePoint 2010 Management Shell,用Add-SPSolution
例子:
Add-SPSolution -LiteralPath “C:\aaa.wsp”
然后在管理中心->系统设置->管理场解决方案->点击“部署解决方案”,就可以部署上去了(当然也可以敲命令来执行)->IISRESET(一定要重启一下,否则看不到效果)
当有更新怎么办呢?一种是用下面更新的命令
Update-SPSolution –Identity xxx.wsp –LiteralPath x:\xxx\xxx.wsp –GACDeployment
还有一种是把编译好的dll注册到GAC里,把修改的的文件复制的到对应14目录的文件夹下面,然后iisreset。
有一个奇怪的问题需要解决一下:WSP builder竟然没有copy到14的命令,在2007的时候是有的,因为用部署的命令需要重启iis,以至于只是修改页面的效率不高,所以这个问题想办法解决一下。