Sharepoint 2010 SharePoint 2010开发

Sharepoint 2010 SharePoint 2010开发,sharepoint-2010,Sharepoint 2010,我正在开发可视化web部件。我在VS2010中创建了一个sharepoint项目,并向其中添加了一个可视web部件。生成并部署了该项目。我可以看到添加的web部件,并可以将其拖动到网站上的任何页面 现在,我创建了一个新的解决方案,重定向到第一个解决方案指向的同一个站点。向其中添加了一个可视web部件。已生成此部件并已部署。现在,当我看到该站点时,虽然我可以将此新web部件添加到页面中,但从以前的解决方案添加的web部件会引发错误 Web部件错误:无法显示或导入此页面上的Web部件或Web表单控件

我正在开发可视化web部件。我在VS2010中创建了一个sharepoint项目,并向其中添加了一个可视web部件。生成并部署了该项目。我可以看到添加的web部件,并可以将其拖动到网站上的任何页面

现在,我创建了一个新的解决方案,重定向到第一个解决方案指向的同一个站点。向其中添加了一个可视web部件。已生成此部件并已部署。现在,当我看到该站点时,虽然我可以将此新web部件添加到页面中,但从以前的解决方案添加的web部件会引发错误

Web部件错误:无法显示或导入此页面上的Web部件或Web表单控件。找不到类型TestWebPart1.Testwebpart.Testwebpart、TestWebPart1、版本=1.0.0.0、区域性=中性、PublicKeyToken=02dc69d4b9065085,或者该类型未注册为安全类型


看起来我不能为一个站点使用多个解决方案。我可以知道原因吗?

不太清楚你想达到什么目的


但是,对于一个站点,您可以有任意多个解决方案。没有1个解决方案限制

我不确定是否是这样,但是;这里有一个理论:

您可能已使用相同的命名空间和名称创建了Web部件,但在不同的解决方案中

因此,正在发生的是;第一个解决方案为Web部件的二进制文件提供一个唯一的id,如1,另一个解决方案为2

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

因此,第一个控件正在查找Id=1的二进制文件,但找不到它。 这可能是您收到的错误

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

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

登记

要修复打开sharepoint服务器iis根站点中的web.config的问题,通常的路径如下

c:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config

在节中添加以下内容

签署大会


既然这是正确的答案,我怎么会被否决呢?
 <SafeControl Assembly="TestWebPart1.Testwebpart.Testwebpart, TestWebPart1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=02dc69d4b9065085" Namespace="TestWebPart1" TypeName="*" Safe="True" AllowRemoteDesigner="True" />