Sharepoint 2k7 - 自定义WebPart未加载

时间:2011-10-24 16:30:28

标签: sharepoint sharepoint-2007

首先,对于Sharepoint 2007 webpart开发,我是一个非常胖的NOOB,但我正在努力。

现在针对真正的问题,我开发这个webpart并按照各个站点的'Loose'建议来设置如何设置features.xml,.xml,manifest.xml,solution.ddf和solution.build文件。基本上,我有一个一体化的解决方案,我构建webpart,然后在构建后事件中将所有源文件编译到WSP部署包中。

我遇到的问题是我可以将解决方案添加到sharepoint网站,但是当我通过CA-Operations-Solution管理部署它时,我得到了这个错误:

  

从Sharepoint报告的错误

     

无法从模块“ChartPartWP”实例化文件“ChartPartWP.webpart”:找不到源路径“ChartPartWP \ ChartPartWP.webpart”。

当我查看文件系统时,ChartPart文件夹在TEMPLATE \ FEATURES中与ChartPartWP.webpart和其他支持文件一起出现。

我需要解决的事情没有发生。

编辑:10/24/2011 @ 11:36 PM

Solution.ddf

.OPTION EXPLICIT
.Set CabinetNameTemplate=ChartPartWP.wsp
.Set DiskDirectoryTemplate=CDROM
.Set DiskDirectory1=Package
.Set CompressionType=MSZIP
.Set UniqueFiles="ON"
.Set Cabinet=On
.Set SourceDir="\\<fileserver>\common share\Software_Development\MPT\Sharepoint2007\ChartPart\"

Manifest.xml manifest.xml

; binary
bin\release\TCBOE.ChartPart.dll TCBOE.ChartPart.dll

; feature files
TEMPLATE\FEATURES\ChartPartWP\ChartPartWP.xml ChartPartWP\ChartPartWP.xml
TEMPLATE\FEATURES\ChartPartWP\feature.xml ChartPartWP\Feature.xml

; web part files
TEMPLATE\FEATURES\ChartPartWP\ChartPartWP.webpart ChartPartWP\ChartPartWP.webpart
TEMPLATE\FEATURES\ChartPartWP\LockedChartPartWP.webpart ChartPartWP\LockedChartPartWP.webpart

的manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/"
 SolutionId="{0C32EA7F-78C2-4814-A4C9-88256E49E371}">
  <FeatureManifests>
    <FeatureManifest Location="ChartPartWP\feature.xml" />
  </FeatureManifests>
  <Assemblies>
    <Assembly Location="TCBOE.ChartPart.dll"
              DeploymentTarget="GlobalAssemblyCache" />
  </Assemblies>
</Solution>

ChartPartWP.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="ChartPartWP" 
              List="113" Url="_catalogs/wp" 
              Path="ChartPartWP" 
              RootWebOnly="True">
        <File Url="ChartPartWP.webpart" Type="GhostableInLibrary">
            <Property Name="Group" Value="ChartParts" />
        </File>
        <File Url="LockedChartPartWP.webpart" Type="GhostableInLibrary">
            <Property Name="Group" Value="ChartParts" />
        </File>
    </Module>
</Elements>

feature.xml的

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
  Id="47D62F5E-B0E0-4f93-BCD1-081CA794527C" Version="3.5.1.0"
  Title="TCBOE ChartPart"
  Description="Provides a Chart Web object to be used in Sharepoint 2007."
  AutoActivateInCentralAdmin="TRUE"
  Scope="Site">
    <ElementManifests>
        <ElementManifest Location="ChartPartWP.xml" />
        <ElementFile Location="ChartPartWP.webpart" />
        <ElementFile Location="LockedChartPartWP.webpart"/>
    </ElementManifests>
</Feature>

我是否需要制作任何接收器/处理程序才能使安装成为可能?我没有读过关于它的任何内容,但是为了某个目的读了一些关于FeatureReceiver的内容,但是不记得它的生命,为什么你需要FeatureReceiver(SPFeatureReceiver

1 个答案:

答案 0 :(得分:1)

SPFeatureDefinition.AutoActivateInCentralAdmin Property

获取一个值,该值指定在安装时是在中央管理网站,网站集还是Web应用程序上激活功能。

如果不对整个样品进行测试,请使用此属性。尝试删除它。

更新:您还应该发布.webpart(它是一个xml)。

尝试这些配置:Feature.xml

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Id="47D62F5E-B0E0-4f93-BCD1-081CA794527C" Version="3.5.1.0" Title="TCBOE ChartPart" Description="Provides a Chart Web object to be used in Sharepoint 2007." Scope="Site">
    <ElementManifests>
        <ElementManifest Location="ChartPartWP\ChartPartWP.xml" />
        <ElementFile Location="ChartPartWP\ChartPartWP.webpart" />
        <ElementFile Location="ChartPartWP\LockedChartPartWP.webpart"/>
    </ElementManifests>
</Feature>

webpart.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="ChartPartWP" List="113" Url="_catalogs/wp">
        <File Path="ChartPartWP.webpart" Url="ChartPartWP.webpart" Type="GhostableInLibrary">
            <Property Name="Group" Value="ChartParts" />
        </File>
        <File Path="ChartPartWP.webpart" Url="LockedChartPartWP.webpart" Type="GhostableInLibrary">
            <Property Name="Group" Value="ChartParts" />
        </File>
    </Module>
</Elements>

如果无效,我建议安装并使用VSeWSS 1.3 from Microsoft,创建一个新的webpart,点击F5,进行测试。如果您可以在“添加Web部件”对话框中看到它,请移动文件。这是您将获得最接近SharePoint 2010体验的体验(这是非常好的改进)。

不得不摆弄这些文件,对初学者来说更多,不应该是你的负担。