首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改AssemblyVersion后“未注册为安全”的Webpart

更改AssemblyVersion后“未注册为安全”的Webpart
EN

Stack Overflow用户
提问于 2011-11-04 08:18:22
回答 1查看 17.8K关注 0票数 3

我(成功地)使用msbuild部署了一些sharepoint2010 - some部件。在我决定改变assemblyVersion之前,一切都很好。每当我这么做的时候

Web部件错误:无法显示或导入此页上的Web部件或Web窗体控件。无法找到RTContacts、RTContacts、Version=1.0.0.0、Culture=neutral、PublicKeyToken=2721ba85ef1e4b88类型或未注册为安全类型。

一个解决办法是保持1.0.0.0,但是应该有更好的方法.

也许值得一提的是,我们使用了一个集中式的AssemblyFile,它是作为一个链接包括在内的。

清单包含正确的组装版本:

代码语言:javascript
复制
<Assemblies>
<Assembly Location="RTContacts.dll" DeploymentTarget="GlobalAssemblyCache">
  <SafeControls>
    <SafeControl Assembly="RTContacts, Version=1.0.4325.18399, Culture=neutral, PublicKeyToken=2721ba85ef1e4b88" Namespace="RTContacts" TypeName="*" />
  </SafeControls>
</Assembly>

当我再次将WebPart添加到该站点时,它将被正确显示,但是已经存在的webParts似乎链接到了旧版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-07 09:37:18

出现这些问题是因为您不正确地使用版本控制属性。

例如,如果检查Reflector中的Microsoft.SharePoint.dll,您将看到v14.0.0.0 (用于SharePoint 2010)。

这个AssemblyVersion对于Beta、RCx、RTM所有服务包和CU等都将保持完全相同--唯一改变的是AssemblyFileVersion (这是在Windows中在属性下看到的)。

有关更多细节,请参见此。

SharePoint特性:如何使用通配符程序集版本控制?

但不要相信我的话-微软KB556041 -如何使用程序集版本和程序集文件版本

如果您遵循这一点,则不需要程序集绑定重定向,并且当您更新web部件时,现有实例不会被破坏。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8006500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档