WSPBuilder 生成Webpart 部署包
這里以我做的一個SSO Webpart為例
隨便創建一個目錄,把WSPBuilder的相關文件拷入,在Feature下創建要部署到Feature下的目錄名,如BruceLeeSSOWebpart,那么最后文件就被部署在12\TEMPLATE\FEATURES\BruceLeeSSOWebpart。
把feature.xml和elementManifest.xml和*.webpart拷貝到FEATURES\目錄。
Dll拷貝到GAC下。
?
feature.xml文件格式解釋
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="f80676eb-f08e-46db-bff5-db9848ff33e6" Title="BruceLeeSSO部件" Scope="Site" Version="1.0.0.0" Hidden="FALSE" DefaultResourceFile="core" xmlns="http://schemas.microsoft.com/sharepoint/">
? <ElementManifests>
??? <ElementManifest Location="elementManifest.xml" />
??? <ElementFile Location="具體名字.webpart" />
? </ElementManifests>
</Feature>
ID,一個Feature的唯一ID
Title="BruceLeeSSO部件"是設定出現在Moss網站功能中的現實。
Scope是激活后的應用范圍
ElementManifest 指定elementManifest.xml位置
ElementFile 指定“具體名字.webpart”位置
?
elementManifest.xml文件格式說明
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
? <Module Name="WebParts" List="113" Url="_catalogs/wp">
??? <File Path="具體名字.webpart" Url="具體名字.webpart" Type="GhostableInLibrary" />
? </Module>
</Elements>
Path指定*.webpart路徑
?
*.webpart格式說明
普通情況下<importErrorMessage>和property name="Title" type="string">不能有中文字,因為文件缺省格式是ANSI格式,另村委UTF-8后可以有中文
<?xml version="1.0" encoding="utf-8"?>
<webParts>
? <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
??? <metaData>
????? <type name="BruceLeeSSOWebpart.BruceLeeSSOWebpart, BruceLeeSSOWebpart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f34244ef5a35e827" />
????? <importErrorMessage>無法導入此 Web 部件。</importErrorMessage>
??? </metaData>
??? <data>
????? <properties>
??????? <property name="Title" type="string">BruceLeeSSO部件</property>
??????? <property name="Description" type="string">SSO。</property>
??????? <property name="ChromeType">None</property>
??????? <property name="CatalogIconImageUrl" type="string">/_layouts/images/wp_Filter.gif</property>
??????? <property name="TitleIconImageUrl" type="string">/_layouts/images/wp_Filter.gif</property>
????? </properties>
??? </data>
? </webPart>
</webParts>
出錯
“檢測到不兼容的 Web 部件標記。請使用 *.dwp Web 部件 XML,而不要使用 *.webpart Web 部件 XML。”
因為把Webpart的繼承改為了Microsoft.SharePoint.WebPartPages.WebPart,并把AssemblyInfo.cs文件的[assembly: CLSCompliant(true)]注釋了。
所以如果部署文件用*.webpart那么webpart的繼承類一定要用System.Web.UI.WebControls.WebParts.WebPart
否則會報上面的錯誤。
所以如果部署文件用*.dwp那么webpart的繼承類一定要用Microsoft.SharePoint.WebPartPages.WebPart
Webpart繼承于Microsoft.SharePoint.WebPartPages.WebPart,那么ToolPart比較容易定義,直接用屬性就可以實現,如果繼承System.Web.UI.WebControls.WebParts.WebPart要自己實現ToolPane
否則會報上面的錯誤。
dwp文件和elementManifest.xml、feature.xml
<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
?? <Assembly>BruceLeeSSOWebpart,Version=1.0.0.0,Culture=neutral,PublicKeyToken=f34244ef5a35e827</Assembly>
?? <TypeName>BruceLeeSSOWebpart.BruceLeeSSOWebpart</TypeName>
?? <Title>BruceLee SSO Web 部件</Title>
?? <Description>集成OfficeSSO。</Description>
</WebPart>
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
? <Module Name="WebParts" List="113" Url="_catalogs/wp">
??? <File Path="BruceLeeSSOWebpart.dwp" Url="BruceLeeSSOWebpart.dwp" Type="GhostableInLibrary" />
? </Module>
</Elements>
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="6c629a18-5758-4b52-8198-f82ef15f0225" Title="BruceLeeSSO部件" Scope="Site" Version="1.0.0.0" Hidden="FALSE" DefaultResourceFile="core" xmlns="http://schemas.microsoft.com/sharepoint/">
? <ElementManifests>
??? <ElementManifest Location="elementManifest.xml" />
??? <ElementFile Location="BruceLeeSSOWebpart.dwp" />
? </ElementManifests>
</Feature>
總結
以上是生活随笔為你收集整理的WSPBuilder 生成Webpart 部署包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一节 特有标签
- 下一篇: 股票分红与基金分红存在什么区别?一文看懂