我构建了我的SharePoint网站模板解决方案程序集并成功将其部署到SharePoint,它是版本6.4.0.2032。我做了一些测试,发现我的代码存在一些问题。我解决了这些问题。通过“setup.bat / uninstall”卸载我的解决方案。将我的程序集重建到版本6.4.0.2033。我再次成功安装了新模板,但在尝试将其中一个webpart添加到页面时,SharePoint继续查找旧版本的程序集。
我错过了一步吗?
以下是C:\ Program Files \ Common Files \ Microsoft Shared \ web server extensions \ 12 \ LOGS:
中登录的片段04/08/2009 13:04:58.18 w3wp.exe (0x0AA8) 0x0BE4 Windows SharePoint Services Web Parts 8l4f Monitorable Error importing WebPart. Assembly SharePoint.Site, Version=6.4.0.2032, Culture=neutral, PublicKeyToken=db45c0486d0dc06d, TypeName. SharePoint.Site.MetadataSearch, SharePoint.Site, Version=6.4.0.2032, Culture=neutral, PublicKeyToken=db45c0486d0dc06d
答案 0 :(得分:3)
当使用“setup.bat / uninstall”删除以前的版本时,我注意到WebParts的相应“.webpart”文件不会被删除。当新版本重新解码时,这些“.webpart”文件不会更新并继续指向以前的程序集版本。
要查看Web部件引用的汇编版本:
您应该能够在已编译的解决方案中找到相应的新“.webpart”文件(应该引用您的新程序集)。然后只需将其上传到此Web部件库列表(记得检查“覆盖现有文件”)
如果找不到“.webpart”文件,您可以随时从“Web部件库”下载该副本并手动修改它。
希望有所帮助。
答案 1 :(得分:1)
在SharePoint中,您有很多对程序集的引用。一些存储在磁盘上的文件中(布局文件中的页面引用),另一些存储在内容数据库中(内容文件中的页面引用)。使用解决方案框架进行部署时,SharePoint还会将SafeControl添加到web.config文件中。这些条目以其强名称引用程序集。
我的经验是,您应该避免更改SharePoint解决方案的程序集版本 - 它将为您节省各种麻烦。要跟踪程序集版本,您应该使用程序集文件版本。这不会导致SharePoint出错。
我是否提过了解决方案升级?只需考虑在已将Web部件添加到几十页的服务器场中升级程序集。所有这些页面都将引用旧程序集,并可能在升级后导致未处理的错误。
程序集文件版本属性在AssemblyInfo.cs文件中设置:
[assembly: AssemblyVersion("6.0.0.0")]
[assembly: AssemblyFileVersion("6.4.0.2033")]
答案 2 :(得分:0)
您的web.config文件引用了哪个版本? 仔细检查它是否是您期望的版本(6.4.0.2033)。 做一个IIsrest再试一次。