使用Web服务时无法加载类型异常

时间:2012-07-17 12:57:16

标签: .net sharepoint reference wss-3.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所说的话: (我怎么会指出这个错误出现在FuslogVw 之前调用异常导致方法并尝试使用Web服务。除了这个错误它是空的!)

  

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

     

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

     

装配管理器从以下位置加载:   C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clr.dll正在运行   可执行文件C:\ Working \ XXXX \ Configuration   工具\ v2.6.0.3 \组态\组态\ BIN \调试

     

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

     

===预绑定状态信息===日志:用户= YYYY \ XXXX日志:DisplayName = msvcm80,版本= 8.0.50727.6195,文化=中性,   PublicKeyToken = b03f5f7f11d50a3a(完全指定)LOG:Appbase =   文件:/// C:/工作/ XXXX /配置   Tool / v2.6.0.3 / ConfigurationTool / ConfigurationTool / bin / Debug / LOG:   Initial PrivatePath = NULL LOG:Dynamic Base = NULL LOG:Cache Base =   NULL日志:AppName = ConfigurationTool.vshost.exe调用程序集:   (未知)。   ===日志:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件:C:\ Working \ XXXX \ Configuration   工具\ v2.6.0.3 \组态\组态\ BIN \调试

     

\ ConfigurationTool.vshost.exe.Config日志:使用主机配置   file:LOG:使用来自的机器配置文件   C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ CONFIG \ machine.config中。   日志:政策后参考:msvcm80,版本= 8.0.50727.6195,   Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a日志:GAC Lookup原为   不成功。日志:尝试下载新网址   file:/// C:/ Working / XXXX / Configuration

     

工具/ v2.6.0.3 /组态/组态/ bin中/调试/ msvcm80.DLL。   日志:尝试下载新网址   file:/// C:/ Working / XXXX / Configuration

     

工具/ v2.6.0.3 /组态/组态/ bin中/调试/ msvcm80 / msvcm80.DLL。日志:尝试下载新网址   file:/// C:/ Working / XXXX / Configuration

     

工具/ v2.6.0.3 /组态/组态/ bin中/调试/ msvcm80.EXE。   日志:尝试下载新网址   file:/// C:/ Working / XXXX / Configuration

     

工具/ v2.6.0.3 /组态/组态/ bin中/调试/ msvcm80 / msvcm80.EXE。日志:所有探测URL都已尝试失败。

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

添加了Msvcm80.dll

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

这是完整的例外文字,不用多了!

  

捕获了System.TypeLoadException消息=无法加载类型   来自程序集'SharepointWeb的'SharepointWeb.ShareList',   Version = 2.6.0.0,Culture = neutral,PublicKeyToken = null'。
  Source = Sharepoint TypeName = SharepointWeb.ShareList StackTrace:          at Sharepoint.FolderBrowser.GrowTree(String siteUrl)          at Sharepoint.FolderBrowser..ctor(String siteURL)InnerException:

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

2 个答案:

答案 0 :(得分:0)

来自错误代码

  

0x80070002

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

  

我还将Sharepoint.DLL粘贴到我的调试文件夹中,就像之前在那里搜索的fuslog一样

请注意,如果汇编在GAC中仍然存在,那么CLR会从那里开始使用它。

答案 1 :(得分:0)

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

我没有SNK。

相关问题