sharepoint部署、发布过程记录

来源:互联网 发布:ubuntu cp - 编辑:程序博客网 时间:2024/05/12 09:50

今天遇到了一个肯爹的问题,将一个工程下面的webpart部署到sharepoint站点中,如果说是一个常规的webpart solution倒好解决,直接将solution的地址设置成sharepoint目标部署的url,但是今天遇到的并非是webpart solution,而是一个普通的c#工程,里面的cs文件继承System.Web.UI.WebControls.WebParts.WebPart ,现在能得到的只有编译好的dll,需要部署到sharepoint站点中,对于一个对sharepoint很陌生,甚至对iis服务器不熟悉的我,在项目同事的帮助下解决了此问题,幸甚啊。现记录下来,希望对遇到同样问题的同行有所帮助。

本文参考地址:http://www.cnblogs.com/kivenhou/archive/2010/11/02/1867365.html

这篇博客给了我一定思路,感谢这篇博客主人。

如果想了解sharepoint部署常识请访问:

http://msdn.microsoft.com/zh-cn/library/cc768621.aspx

我现在介绍的方法是用sharepoint 2010 部署dll。

 

第一步:强命名工程,即给工程添加一个snk

Msdn也有部分介绍,地址是:http://msdn.microsoft.com/en-us/library/k5b5tt23.aspx

我介绍一种比较方便的方法,在Vs工程中鼠标右击项目名,选择属性,然后选择”签名(signing)”,此时会看到choose a strong name key file, 然后new 一个,如下图,如此就能对工程强命名了,我文章前面提到的参考博客也对此步骤有过详细介绍。


第二步:查询要想部署工程的Assembly名称信息

查询的方法有很多中,一种是用Reflector工具,这在本文前面提到的友情博客中有介绍,

另外一种是在C:\Windows\assembly中查,前提是必须先将dll注册进assembly,如果你电脑里UAC设置过,可以直接将dll拖放进assembly中。

这里顺便介绍一下设置UAC方法:打开控制面板->User Account --> change user Account control settings,将notify调至never.

我用的是第三种方式查询Assembly名称信息,通过vs工具查看:

如果之前你已经在vs中添加好了此工具可以略过下面。

vs Tools --> externaltool --> add

填写内容对应为   command:powershell.exe

Arguments:-command "[System.Reflection.AssemblyName]::GetAssemblyName(\"$(TargetPath)\").FullName"

(注意arguments参数前面有”-”)

最后钩上”use output window”

第三步:打开web.config文件,在在<SafeControls></SafeControls>节点添加Assembly名称信息,例如(本例复制他人博客,参考本文友情博客链接):<SafeControl Assembly="AssignerReject, Version=1.0.0.0,  Culture=neutral, PublicKeyToken=1a293534db071253" Namespace="AssignerReject.Properties" TypeName="*" Safe="True" />

 

好了前奏基本搞定,下面介绍添加webpart到sharepoint2010网站

1.      添加webpart

步骤:site Action->site Setting-->Galleries-->web parts


进去后找到你想要添加的webpart,如果不能找到,如下图继续


(进入下一界面如果还是找不到的话可能前面步骤出问题了,没有将dll加入到gac里面。)选中想要添加的webpart点击Populate Gallery按钮,添加成功。

 

第二步 新建一个site,将上面的Webpart添加到site中,但是此时在custom中并不能找到你想要添加的Webpart,此时回到第一步,进入”webparts”界面,找到添加的webpart,如下图


(红圈则是想要添加的webpart)点击编辑



设定group,如此在site中插入webpart时在custom中就能找到此webpart,部属成功。