【问题标题】:Deploying an .Net App that uses Sharepoint Assemblies部署使用 Sharepoint 程序集的 .Net 应用程序
【发布时间】:2009-12-08 23:17:10
【问题描述】:

我正在开发一个用 C# 编写的工具来帮助管理 MOSS(Microsoft Office Sharepoint Server)。它确实通过使用共享点 om 提供的类来实现,例如命名空间 Microsoft.SharePoint.Administration 或 Microsoft.Office.Server 中的类。

具体的组件有:
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
Microsoft.SharePoint.dll

我的问题是如何在 MOSS 服务器上安装此工具,以便它可以在加载时找到所需的程序集。 AFAIK 这些程序集位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\ISAPI 中,但它们也可能位于其他地方,无论管理员安装 Sharepoint 的位置。

为了解决这个问题,我可以想到以下方法:

  1. 将应用程序安装到 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\ISAPI。这适用于常见情况,但它会将我的二进制文件与 Sharepoints 混合在一起,我希望避免这种情况。如果管理员为 Sharepoint 选择了不同的路径,它也会失败,尽管我可以通过在安装时检查注册表以获取正确的路径来解决这个问题。
  2. 将应用程序安装到其自己的文件夹中,并使用配置文件来引用 MOSS 程序集,使用 codeBase 元素。
  3. 将 MOSS 程序集与我的应用程序一起部署。然后将它们复制到目标机器中。这应该可行,但有几个问题:首先,我不确定我是否可以合法地重新分发 dll,即使它们只有在安装了 MOSS 时才能工作;其次,一旦另一个服务包发布,这可能会导致问题,因为我重新分发的 Dll 的版本和系统的版本会不同步。

有人遇到过这种情况吗?你是怎么解决的?有什么想法吗?

【问题讨论】:

  • 这是一个基于 Web 的应用程序吗?您要部署到 SharePoint 服务器的 winforms 应用程序?
  • 它是一个控制台命令行工具。

标签: c# sharepoint deployment moss


【解决方案1】:

这些程序集不是也部署到 GAC 吗? Microsoft.Office.Server 在 GAC 中,Microsoft.Sharepoint 也是。

AFAIK Microsoft.Sharepoint.Administration 不是 dll。

【讨论】:

  • 无论如何,程序集都在 GAC 中,运行时会在部署时为您找到它们。见support.microsoft.com/kb/837908
  • 他们是 GACed 是的。我使用的调试版本与 GAC 中的签名不同,这就是找不到它们的原因。现在可以了。
猜你喜欢
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 2013-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多