无法部署新的SharePoint网站模板程序集版本

时间:2009-04-14 19:04:55

标签: c# visual-studio-2008 sharepoint assemblies deployment

我构建了我的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

3 个答案:

答案 0 :(得分:3)

当使用“setup.bat / uninstall”删除以前的版本时,我注意到WebParts的相应“.webpart”文件不会被删除。当新版本重新解码时,这些“.webpart”文件不会更新并继续指向以前的程序集版本。

要查看Web部件引用的汇编版本:

  1. 在SharePoint中打开顶级网站设置(网站操作>网站设置>转到顶级网站设置)
  2. 点击“Galeries”栏目下的“网页部件”
  3. 单击“Web部件”旁边的“编辑”图标
  4. 点击“查看XML”工具栏按钮
  5. 您应该能够在已编译的解决方案中找到相应的新“.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再试一次。

相关问题