将SANDBOX VISUAL WEBPART转换成FARM Visual WEBPART

如何将已有的SANBOX Visual Webparts转换成FARM WEBPARTS呢?

实际上SANDBOX级别的Webpart是可以直接在FARM级别上成功的执行的, SANDBOX VISUAL WP 实际上是一个SERVER CONTROL OR CUSTOM CONTROL 是已经提前编译好的文件在打包到WSP后。 如果仍然需要将SANDBOX Visual WEBPART转换成常规的FARM级别的WEBPART 步骤如下:

  1. 将工程属性由sanbox solution = true => false | 迁出搜有的Visual Sandbox WP文件

image

Figure: 迁出文件

 

2. 找到SharePointProjectItem.spdata | 将projectitem type 由<ProjectItem Type="Microsoft.VisualStudio.SharePoint.WebPart" …………….> 

    转换成<ProjectItem Type=”Microsoft.VisualStudio.SharePoint.VisualWebpart”>

    增加  <ProjectItemFile Source="XXXX.ascx" Target="CONTROLTEMPLATES\YYYYYY.Webparts\XXXX.ascx" Type="TemplateFile" />

 image

Figure: 改变PROJECTITEM TYPE | 增加一个新的PROJECITEMFILE 

3. 更改PROJECT 文件

image

Figure:删除 相应的Compile 节点带有 XXX.ascx.g.cs

image

Figure:删除 相应的Content 节点 Genrator 和 LastGenOutput.

4. 到物理文件目录, 将 xxxx.ascx.g.cs 修改成 XXXX.designer.cs | Include In project | 编辑相应的 .ASCX 然后保存 | 更新自动应用到 .ascx.designer.cs文件上

image

Figure: 更改后的module文件

5. 如果有前端绑定 例如 <%# ((XXX.YYY.TYPENAME)Container.DataItem).propertyname

需要将ASSEMLY 如:

<%@ Assembly Name="XXX.YYY, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxx" %>

和 IMPORT 如:

<%@ Import Namespace="XXX.YYY" %>

节点引入进来,

 

这样就可以批量的改动以后的SANDBOX VISUAL WEBPART 而不需删除重新创建 FARM VISUAL WEBPART

以后会更多的介绍SANBOX的一些开发细节.

posted @ 2012-03-16 13:01  SharePoingGuy  阅读(286)  评论(1)    收藏  举报