2

在将我的 Sitefinity 4.1.1339.0 安装升级到 4.3(最终升级到 Sitefinity 5)时遇到一些问题。它给了我以下错误:

无法加载文件或程序集“Telerik.Sitefinity,Version=4.1.1339.0,Culture=neutral,PublicKeyToken=b28c218413bdf563”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

我以为是 /bin/Telerik.Sitefinity.dll 文件,但那里的所有内容似乎都已更新。

有任何想法吗?谢谢!

4

2 回答 2

0

如果您在 Sitefinity web.config 中使用“assemblyBinding”,则需要将该配置部分更新为最新的 dll 版本。程序集绑定是将过时的第三方 Sitefinity 模块/插件映射到当前 Sitefinity dll 的常用解决方案。

以下是 Sitefinity 5.1.3210 的正确版本。请注意,Telerik.Web.UI 是不同的版本,因为它来自不同的 Telerik 产品线。

<!-- From web.config - not complete file -->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Telerik.Sitefinity" publicKeyToken="b28c218413bdf563" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="5.1.3210.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Telerik.Sitefinity.Model" publicKeyToken="b28c218413bdf563" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="5.1.3210.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Telerik.Web.UI" publicKeyToken="121fae78165ba3d4" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="2012.2.607.40"/>
  </dependentAssembly>
</assemblyBinding>

如果您将升级到许多版本 4.1 -> 4.4 -> 5.0 -> 5.1,您可能希望注释掉配置的这一部分,直到您完成升级,然后将其重新添加。否则,您将拥有在每次升级后编辑这三行。

注意:要获取 dll 版本,请浏览到 bin 文件夹。右键单击 dll 文件,单击属性,然后选择“详细信息”选项卡。

于 2012-07-25T05:04:30.510 回答
0

我同意@Josh,另外您可以尝试查看 App_Data\Sitefinity\Configuration 文件夹中的所有文件。出于某种原因,我不得不手动更新这些文件中的所有引用以匹配确切的 DLL 版本。确保完全重新启动 cassini/IIS/sitefinity 实例以获取更改。

于 2012-05-02T11:58:54.423 回答