1

我正在构建一个 SharePoint 功能以在“Web”范围内部署一个简单的 WebPart 和一个自定义列表。

  1. 部署解决方案后,我的列表立即在站点操作 -> 站点设置 -> 自定义列表中可用。
  2. 如果您尝试创建列表的一个实例,我会收到“找不到文件”
  3. 如果您激活该功能,则会将列表模板的第二个副本添加到“自定义列表”标题中。
  4. 不能使用相同的“找不到文件”错误创建这两个列表
  5. 在停用该功能时,一个列表模板会消失
  6. 在收回解决方案时,最后一个列表模板消失

涉及文件:

  • schema.xml 有 5000 行长
  • feature.xml 如下
<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="78a8eaad-2160-434c-81c2-6c5f7ce94ade" Title="WeekWidget" Description="Displays A, B or H based upon a configurable SharePoint List." Version="1.0.0.0" Creator="Cardinal Newman Catholic School // Richard Slater" Scope="Web" ImageUrl="WeekWidget\WeekWidgetLogo.jpg" xmlns="http://schemas.microsoft.com/sharepoint/" DefaultResourceFile="core">
  <ElementManifests>
    <ElementManifest Location="ListTemplates\WeekCalendar.xml" />
    <ElementFile Location="WeekCalendar\Schema.xml" />
  </ElementManifests>
</Feature>
  • WeekCalendar.xml 如下
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListTemplate Name="WeekCalendar" DisplayName="Week Calendar" Description="List of Weeks." BaseType="0" Type="100" OnQuickLaunch="TRUE" SecurityBits="11" Sequence="410" Image="/_layouts/images/itgen.gif" />
</Elements>

我认为“未找到文件”错误是另一个问题的征兆,但是在解决方案部署中不应添加列表模板。我究竟做错了什么?

4

2 回答 2

1

您是自己连接所有功能文件还是使用工具?通常,404 表示配置文件中的“魔术字符串”之一已关闭。此外,此处指定的目录结构看起来很可疑:

<ElementManifests>
  <ElementManifest Location="ListTemplates\WeekCalendar.xml" />
  <ElementFile Location="WeekCalendar\Schema.xml" />
</ElementManifests>

您应该尝试将所有功能支持文件部署到同一目录。您是否在 ULS 日志 (<12 hive>/LOGS) 中找到了错误?这也可能提供一些线索。

于 2009-04-05T09:20:18.247 回答
1

我认为问题可能与单独的目录结构有关——我通常将所有列表文件部署到同一个文件夹(在您的情况下,schema.xml 和 weekcalendar.xml;将 feature.xml 保留在列表目录之外)。

打开详细日志记录并检查 12-hive 日志以查看未找到的文件。

检查 schema.xml 并确保列表元素上的 name 属性与包含您的功能的文件夹的名称相匹配。还要注意这个元素的 Url 属性...VSeWSS 会将 URL 设置为被反向工程的列表的名称,因此我将其更改为“pages\viewpage.axp”。

在 schema.xml 中的默认视图元素上,尝试添加 SetupPath="pages\viewpage.aspx"。确保那里也有一个 WebPartZoneId="Main" 属性。

于 2009-07-30T00:56:49.067 回答