Sharepoint 2k7 - 自定义 Web 部件未加载
首先,对于 Sharepoint 2007 Web 部件开发,我是一个大菜鸟,但我正在努力。
现在针对真正的问题,我开发了这个 Web 部件,并遵循各个站点关于如何设置 features.xml、.xml、manifest.xml、solution.ddf 和 Solution.build 文件的“松散”建议。基本上,我有一个一体化解决方案,我在其中构建 Web 部件,然后在构建后事件中将所有源文件编译到 WSP 部署包中。
我遇到的问题是,我可以将解决方案添加到共享点站点,但是当我通过 CA-Operations-Solution 管理部署它时,我收到了这个很大的错误:
Sharepoint 报告的错误
无法从模块“ChartPartWP”实例化文件“ChartPartWP.webpart”:找不到源路径“ChartPartWP\ChartPartWP.webpart”。
当我查看文件系统时,文件夹 ChartPart 存在于 TEMPLATE\FEATURES 中,其中包含 ChartPartWP.webpart 和其他支持文件。
我需要解决什么没有发生。
编辑:10/24/2011 @ 11:36PM
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)
First off i am a big fat NOOB in regards to Sharepoint 2007 webpart development but i am working at it.
Now for the real problem, so i develop this webpart and follow the 'Loose' advise from various sites on how to setup the features.xml, .xml, manifest.xml, solution.ddf and solution.build files. Basically, i have a all-in-one solution where i build the webpart and then in post-build event compile all the source files into the WSP deployment package.
Problem i am having is that I can add the solution to the sharepoint site but when i go to Deploy it through CA-Operations-Solution management i get this great error:
Error as reported from Sharepoint
Failed to instantiate file "ChartPartWP.webpart" from module "ChartPartWP": Source path "ChartPartWP\ChartPartWP.webpart" not found.
When i looked at the file-system the folder ChartPart is present in TEMPLATE\FEATURES with the ChartPartWP.webpart and other support files.
What is not happening that i need to resolve.
Edit: 10/24/2011 @ 11:36PM
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>
Would there be any receivers/handlers i need make are implemented for the installation to take hold? I didnt read anything about it but read something about a FeatureReceiver for a purpose, but cant remember for the life-of-it, why you need the FeatureReceiver (SPFeatureReceiver)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
SPFeatureDefinition.AutoActivateInCentralAdmin
Property获取一个值,该值指定安装时是否在中央管理网站、网站集或 Web 应用程序上激活该功能。
在不测试整个样本的情况下,使用这个属性对我来说听起来很奇怪。尝试删除它。
更新:您还应该发布您的 .webpart (它是一个 xml)。
尝试这些配置:Feature.xml
webpart.xml
如果没有任何效果,我建议安装并使用 来自 Microsoft 的 VSeWSS 1.3,创建一个新的 Web 部件,按 F5,测试它。如果您可以在“添加 Web 部件”对话框中看到它,请将文件移过去。这是您将获得的最接近 SharePoint 2010 的体验(得到了极大的改进)。
不得不摆弄这些文件,尤其是对于初学者来说,不应该成为您的负担。
SPFeatureDefinition.AutoActivateInCentralAdmin
PropertyGets a value that specifies whether the Feature is activated on the central administrative Web site, site collection, or Web application upon installation.
Without testing your entire samples, using this property sounds off to me. Try removing that.
update: you should post your .webpart also (it is a xml).
Try these configs: Feature.xml
webpart.xml
If nothing works, I would recommend installing and using the VSeWSS 1.3 from Microsoft, create a new webpart, hit F5, test it. If you can see it in the "Add Web Parts" dialog, move your files over. This is the closest you will get to the SharePoint 2010 experience (which is terribly improved).
Having to fiddle with these files, even more to a beginner, should not be your burden.