0

我在我的应用程序和 Sharepoint Web 服务之间编写了一座桥梁,以一种有用的格式将数据返回到我的项目中。但是,当任何行尝试创建此 webServiceBridge 类的新实例时,都会引发此异常。

Could not load type 'SharepointWeb.ShareList' from assembly 'SharepointWeb, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

我目前没有引用或使用 Sharepoint.dll 库,因为此应用程序将位于 Sharepoint Server 的外部。为了与 WSS3 兼容,sharepoint 插件项目(我正在编写的应用程序)是 .NET 3.5,但“配置工具项目”是 .NET 4。

我所有的 webFunctions 代码所做的就是获取从 Web 服务返回的 XmlNodes 并将其分类为可用的东西。在大多数情况下,他们会返回List<MyObject>

这些是我使用的唯一网络方法。

permissionService.GetPermissionCollection listService.GetList listService.GetListItems listService.GetListCollection siteDataService.GetWeb

我尝试添加Microsoft.Sharepoint.dll作为项目的参考,但这并没有解决问题。但即使它有,我也不明白为什么需要它。

这是 Fuslogvw 不得不说的:(我要指出,在调用异常导致方法并尝试使用 Web 服务之前,这个错误出现在 FuslogVw中。除了这个错误之外,它是空的!)

* 装配活页夹日志条目 (19/07/2012 @ 14:38:45) *

操作失败。绑定结果:hr = 0x80070002。该系统找不到指定的文件。

从以下位置加载的程序集管理器:C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 在可执行文件 C:\Working\XXXX\Configuration Tool\v2.6.0.3\ConfigurationTool\ConfigurationTool\bin\Debug 下运行

\ConfigurationTool.vshost.exe --- 详细的错误日志如下。

=== 预绑定状态信息 === LOG: User = YYYY\XXXX LOG: DisplayName = msvcm80, Version=8.0.50727.6195, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified) LOG: Appbase = file:// /C:/Working/XXXX/Configuration Tool/v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = ConfigurationTool.vshost .exe 调用程序集:(未知)。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:C:\Working\XXXX\Configuration Tool\v2.6.0.3\ConfigurationTool\ConfigurationTool\bin\Debug

\ConfigurationTool.vshost.exe.Config LOG:使用主机配置文件: LOG:使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 中的机器配置文件。日志:策略后参考:msvcm80,版本=8.0.50727.6195,文化=中性,PublicKeyToken=b03f5f7f11d50a3a 日志:GAC 查找不成功。日志:正在尝试下载新的 URL 文件:///C:/Working/XXXX/Configuration

工具/v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80.DLL。日志:正在尝试下载新的 URL 文件:///C:/Working/XXXX/Configuration

工具/v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80/msvcm80.DLL。日志:正在尝试下载新的 URL 文件:///C:/Working/XXXX/Configuration

工具/v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80.EXE。日志:正在尝试下载新的 URL 文件:///C:/Working/XXXX/Configuration

工具/v2.6.0.3/ConfigurationTool/ConfigurationTool/bin/Debug/msvcm80/msvcm80.EXE。LOG:所有探测 URL 都已尝试并失败。

编辑:从添加 Msvcm80.dll%Program Files%\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

FuslogVW 中没有错误,但异常仍然存在。

这是完整的异常文本,不多说了!

System.TypeLoadException 被捕获 Message=Could not load type 'SharepointWeb.ShareList' from assembly 'SharepointWeb, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'。
Source=Sharepoint TypeName=SharepointWeb.ShareList StackTrace: 在 Sharepoint.FolderBrowser.GrowTree(String siteUrl) 在 Sharepoint.FolderBrowser..ctor(String siteURL) InnerException:

我还有其他地方可以查找更多信息来帮助我诊断此问题的原因吗?

4

2 回答 2

0

从错误代码

0x80070002

看起来您有权限问题。尝试以管理员身份运行您的应用程序。还要检查帐户是否属于与 SP 相关的用户组。

我还将 Sharepoint.DLL 卡在我的调试文件夹中,正如之前提到的那样搜索那里的 fuslog

请注意,如果程序集在 GAC 中仍然存在,则 CLR 首先从那里获取它。

于 2012-07-17T17:26:21.267 回答
0

引用 Web 服务的项目需要使用强名称密钥进行签名。然后放在Sharepoint 服务器GAC 或Sharepoint web 的/bin目录下。

我的没有SNK。

于 2012-07-19T15:19:53.013 回答