SharePoint 2010开发

时间:2012-01-04 07:14:28

标签: sharepoint-2010

我正在研究可视化Web部件。我在VS2010中创建了一个sharepoint项目,并为其添加了一个可视化Web部件。构建并部署。我能够看到添加的Web部件,我可以将其拖到现场的任何页面上。

现在我创建了一个重定向到同一站点的新解决方案(第一个解决方案指向的站点)。为它添加了一个可视化Web部件。构建它并部署了。当我看到网站时,虽然我可以将新的webpart添加到页面但是从先前的解决方案添加的webpart会抛出错误。

  

Web部件错误:无法显示或导入此页面上的Web部件或Web窗体控件。找不到类型TestWebPart1.Testwebpart.Testwebpart,TestWebPart1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 02dc69d4b9065085,或者它未被注册为安全。

看起来我无法使用多个解决方案来处理单个网站。我可以理解这个吗?

2 个答案:

答案 0 :(得分:0)

我不确定是不是这样;这是一个理论:

您可能已经创建了具有相同命名空间和名称但在不同解决方案中的Web部件。

那是怎么回事;第一个解决方案为webpart的二进制文件提供了一个唯一的id,如“1”,另一个给出了“2”。

因此,第一个部署的Web部件的二进制文件被Id =“2”的二进制文件覆盖,因为它们具有相同的名称,但二进制文件的唯一ID是较新的id。

所以第一个控件正在寻找Id =“1”的二进制文件,但找不到它。 这可能是您收到的错误。

你必须改变名字。 如果是这种情况,请告诉我,我将对您可以使用的命名约定添加一些注释。

答案 1 :(得分:0)

这通常意味着您的webparts程序集未在sharepoint web.config中的safecontrols中注册,或者您没有创建强类型程序集

在安全控制中注册

要修复位于sharepoint服务器的iis根网站中的web.config,通常的路径就像

  

C:\的Inetpub \ wwwroot的\ WSS \ VirtualDirectories \ 80 \ web.config中

在< SafeControls>中添加以下内容:节

 <SafeControl Assembly="TestWebPart1.Testwebpart.Testwebpart, TestWebPart1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=02dc69d4b9065085" Namespace="TestWebPart1" TypeName="*" Safe="True" AllowRemoteDesigner="True" />

签署程序集

http://msdn.microsoft.com/en-us/library/ms247123(v=vs.80).aspx