2

我一直在尝试关注以下信息:

长 URL 被剪裁以停止破坏页面

http://msdn.microsoft.com/en-us/library/ms415817.aspx

哪个或多或少有相同的说明。我一直在将 .dll 文件从构建复制到 Sharepoint 站点的 BIN 目录。

当我单击 Web 部件库并点击新建时,两篇文章都说 Web 部件应该显示在列表中。

我已经尝试了我能想到的所有可能的方式,但我的 Web 部件不会显示在该列表中。有没有我在某处错过的步骤?是否有我应该考虑的权限?Sharepoint 究竟如何识别有一个新的 Web 部件。仅仅是将程序集放在 BIN 目录中,还是将控件添加到 web.config 的安全列表中?

我已将其添加到安全控件列表中。我尝试了所有我能想到的不同组合,但没有任何效果。

我是否需要将 .DLL 程序集重命名为其他名称?

对于我的生活,我无法弄清楚这一点。

4

5 回答 5

3

我相信您需要在 webPart 目录的“新”部分中显示 WP 的最低要求,您需要“bin”文件夹中的 dll(web 目录中的 bin,而不是 12 hive :))或GAC 和安全控制条目。我会验证安全控件条目:
Assembly = dll
的名称 NameSpace = 好... WebPart 类所在的 NameSpace
TypeName = webPart 类的名称

您可以通配 NameSpace 和 TypeName 以确保您到达那里:

... Namespace="*" TypeName="*" ...

我还建议签署程序集并放入 PublicKeyToken=...

此外,尝试将信任级别设置为 WSS_Medium 或 Full。

如果这不起作用,您可以尝试将 .webpart 文件添加到 Web 目录中的 wpCatalog 文件夹。

编辑:澄清

于 2008-10-27T22:00:30.393 回答
3

这必须是您的程序集与为安全控制条目输入 web.config 的内容不匹配。

安全控制条目区分大小写 - 最小的错误将停止显示在 Web 部件库的“新”列表中。

还要确保您正在编辑正确的 web.config!:-) 另一个常见的问题是您的 Web 部件类必须是公开的。

希望这可以帮助

尼克·斯旺

于 2008-10-28T15:02:26.900 回答
3

您是否尝试过使用 Microsoft 的WPPackager 工具?自 v2003 以来,我没有接触过 SharePoint,而且我知道有一个方便的工具可用于该平台的 WP 部署。我会提供它的链接,但是 1) 我不记得它的名称,以及 2) 我不确定它是否是您的 SharePoint 版本的有效安装路径。

于 2008-10-28T15:16:07.103 回答
1

哇,你把我难住了......我会尝试手动部署一些其他的第 3 方“免费”网络部件,看看你是否能让它们出现。这个网站有几个: http ://www.sharepointblogs.com/mkruger/archive/2007/06/26/free-sharepoint-web-parts-3rd-party.aspx

您是否确定[assembly: AllowPartiallyTrustedCallers] 在您的 AssemblyInfo 文件中设置:

我很惊讶没有其他人对此发表意见。我想下一步将尝试将其部署为功能/解决方案。

这是一个简单的 hello world wp 还是您正在做更多的事情?

老实说,我开始相信是您的 wss/moss 配置/设置目前阻碍了您的努力。您是否曾经成功地将 WP 部署到您的农场?... 这是 VPC 开发农场还是生产环境?

于 2008-10-28T01:02:33.600 回答
1

在过去 2 周中,我一直在创建一些 Web 部件,但我没有使用 Web 部件库的“新建 Web 部件”部分。相反,我创建了一个 .dwp 文件(例如 MyWebPart.dwp),它或多或少是一个描述 Web 部件的 XML 文件,然后我将它手动导入到库中。

我的 .dwp 文件的格式通常如下所示:

<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
  <Title>My Sample Web Part</Title>
  <Description>This web part displays "Hello World" on the page.</Description>
  <Assembly>My.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3ed03eac7f647a61</Assembly>
  <TypeName>My.Assembly.MyWebPartClassName</TypeName>
  <!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>

这当然假设您已将此程序集添加为“安全控制”。编译程序集并将其移至 SharePoint 计算机的 bin/GAC 后,返回 Web 部件库,单击“上传”,然后上传 .dwp 文件。上传后您必须指定一些属性。

假设您的 Web 部件存在于您的 .dll 中,那么您应该会看到它已添加到库列表中,并且您可以在此时预览它或将其添加到页面中。

于 2008-11-03T19:08:49.437 回答