添加 Web 部件时出错
Posted
技术标签:
【中文标题】添加 Web 部件时出错【英文标题】:Error adding webpart 【发布时间】:2013-03-14 20:31:04 【问题描述】:我正在使用 VS2012 在 Sharepoint 2013 中开发一个 Web 部件。在这个 webpart 中,我使用了我创建的自定义 dll。库框架是 4.0,可视化 webpart 框架是 4.5。
问题是我在sharepoint页面添加webpart时,出现如下错误:
Could not load file or assembly 'RulesDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d2371e81bc184aa5' or one of its dependencies. The system cannot find the file specified
在谷歌搜索我发现了很多解决这个问题的解决方案
使用两种方法将库添加到 GAC。
(1) gacutil -i RulesDll.dll
(2) 使用 package ---> VS2012 解决方案资源管理器中的高级选项
当我在 VS 命令提示符下运行 gacutil -l RulesDll 时,一切正常:
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.17929
Copyright (c) Microsoft Corporation. All rights reserved.
The Global Assembly Cache contains the following assemblies:
RulesDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d2371e81bc184aa5, processorArchitecture=x86
项目数 = 1
所以库在 GAC 中。
将库添加到 web.config 中的保存控件但是没有任何效果。有人知道为什么无法在共享点页面中添加我自己的 Web 部件吗?
【问题讨论】:
【参考方案1】:当您的程序集在 GAC 中并尝试在页面上添加 Web 部件时,您会遇到什么错误?
检查您的应用程序的 web.config,尤其是 SafeControls 部分,应该有对您的程序集的引用。
http://technet.microsoft.com/en-us/library/cc261736.aspx
【讨论】:
【参考方案2】:终于找到错误了。所有库都必须部署在 x64 中
【讨论】:
以上是关于添加 Web 部件时出错的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript React onChanged:尝试在共享点中执行 Web 部件时出错
使用 SharePoint 报表查看器 Web 部件:获取会话数据时出错:会话无效或过期:xxxxxxxxxxx