Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#无法加载文件或程序集';Microsoft.SharePoint.Library';_C#_Sharepoint - Fatal编程技术网

C#无法加载文件或程序集';Microsoft.SharePoint.Library';

C#无法加载文件或程序集';Microsoft.SharePoint.Library';,c#,sharepoint,C#,Sharepoint,我正在开发64位版本的Windows7,运行MOSS(SharePoint),这是我的开发机器 现在,当我将我的web服务应用程序部署到测试服务器Windows 2003 32位(未安装Sharepoint)时,我收到了此错误 无法加载文件或程序集“Microsoft.SharePoint.Library,版本=12.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c”或其依赖项之一。系统找不到指定的文件 DLL已明显复制到bin目录(Microsoft.S

我正在开发64位版本的Windows7,运行MOSS(SharePoint),这是我的开发机器

现在,当我将我的web服务应用程序部署到测试服务器Windows 2003 32位(未安装Sharepoint)时,我收到了此错误

无法加载文件或程序集“Microsoft.SharePoint.Library,版本=12.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c”或其依赖项之一。系统找不到指定的文件

DLL已明显复制到bin目录(Microsoft.Sharepoint.DLL)


有什么想法吗?

对于开发/测试/生产,不要混合使用64位和32位。这永远不会可靠地工作。

那么Sharepoint dll引用的其他dll呢?对于长依赖链,诊断此类问题可能非常困难。在这种情况下,我发现fusion日志查看器非常有用。它是框架SDK的一部分-打开SDK命令提示符并键入fuslogvw。很明显,如果您使用的是sharepoint dll,那么它只能在安装了sharepoint的计算机上工作


即使你设法破解了它并使其正常工作,你也可能会破坏许可协议。

这几乎肯定是一个依赖性问题。该DLL依赖于另一个不在GAC中或探测路径上的DLL。您需要的两个工具是FUSLOGVW.EXE和processmonitor

Fusion Log viewer允许您在加载应用程序时查看程序集绑定成功与失败。它是Windows SDK的一部分

FUSLOGVW需要管理员权限才能正确运行

如果这不起作用,另一个策略是使用Process monitor查看哪些文件没有加载,哪些文件夹正在搜索

不过。如果没有安装SharePoint,我就不希望这样做


Ade

有一种方法可以在使用windows XP、Vista或Seven的开发控制台中加载Sharepoint库

请看这里:

[O] 输入regedit并创建以下键和字符串值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]

"Sharepoint"="Installed"
就这样!你愚弄了安装程序,使其在 工作站容易的。我还建议添加核心SharePoint 使用gacutil将程序集装入[GAC]。可以找到这些程序集 默认情况下,在以下文件夹下的任何[SharePoint]计算机中:
C:\Program
文件\Common Files\Microsoft Shared\web服务器扩展\12\ISAPI

从MSDN: “培训管理应用程序的CI生成环境不执行任何需要SharePoint活动实例的测试。所有单元测试都使用替换实际SharePoint实例和服务的模拟。生成代码和运行单元测试只需要在CI b上安装以下SharePoint程序集uild服务器:

Microsoft.SharePoint

Microsoft.SharePoint.Security

Microsoft.SharePoint.WorkflowActions

支持引用的程序集“


密钥(未安装Sharepoint)是密钥。您正在引用SharePoint DLL的某个位置,而没有SharePoint的服务器上不存在该DLL。我的主要问题是,你是如何在客户端操作系统上安装MOSS的?我认为这是不可能的。@Harper-阅读此文-为什么不在测试服务器上安装SharePoint?@TJMonk-它更像是一个测试->生产服务器,应用程序应该与SharePoint远程通信,因此我不得不更改代码以使用web服务模型-4天的工作。@JL:一旦开始使用web服务,您可能想再减去几天。你可能得自己写一些自定义的。@JL:我想这是肯定的。SharePoint并不完全是免费软件,我无法想象微软会喜欢它的一部分在另一个应用程序中使用。人们实际使用的大多数SharePoint只是WSS。windows server许可证免费提供。@Chris,是的,但您将安装WSS,而不仅仅是在dllif中复制。如果是这种情况,那么如果用户的电脑上没有安装软件,用户如何能够从ASP.NET应用程序向网络的SharePoint提交文件?+1,因为在SharePoint中,您希望尽量减少环境差异,但根据我的经验,在传统的.net开发中,ofc并不是一个大问题,因为您可以使用任何CPU构建模型进行输出。@Chris:我已经用web部件、事件接收器等做了将近一年了。。。您发现了哪些问题?+1了解此工具的新知识。但我认为,正如你所怀疑的,这里的问题是,必须安装MOSS