在默认情况下,使用VS2010 开发的SharePoint 2010 解决方案将会被打包成为解决方案包,在Bin 目录下的 .wsp 格式文件。使用VS2010 开发的SP解决方案都默认为沙盒解决方案 (sandbox solution).

可以使用两种方式对解决方案进行部署:

但在部署之前,请确定在 SharePoint 2010 管理中心 ( Central Admin ) 中

系统设置 (System setting ) -> 管理服务器上的服务 (Manage service on serve) 找到沙盒服务并开启 (图.1)

如何部署VS2010 SharePoint2010 解决方案-DESTLIVE

                                                                                                           图.1

方法一: 使用图形界面进行部署

在网站设置中, 库->解决方案->在上方解决方案栏中选择上传解决方案,在解决方案上传后, 激活。 (图.2)

如何部署VS2010 SharePoint2010 解决方案-DESTLIVE

                                                                                                                 图.2

方法二: 使用PowerShell 命令行进行部署

在开始菜单 Microsoft SharePoint 2010 Products 中找到 SharePoint 2010 Management Shell, 这是加了SharePoint管理模块的 PowerShell, 使用管理员身份运行。

上传解决方案到网站命令格式为:

Add-SPSolution -LiteralPath <SolutionPath>

例子:

如何部署VS2010 SharePoint2010 解决方案-DESTLIVE

激活解决方案命令格式:

Install-SPUserSolution –Identity <Solution> –Site <SiteURL>

例子:

如何部署VS2010 SharePoint2010 解决方案-DESTLIVE

如果未启动 沙盒服务将出现以下情况:

如何部署VS2010 SharePoint2010 解决方案-DESTLIVE

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,以至于只是修改页面的效率不高,所以这个问题想办法解决一下。