无法加载文件或程序集' Telerik.Web.UI,Version = 2008.3.1105.35

时间:2014-05-27 20:22:48

标签: c# telerik dependencies versioning

好的,这让我发疯了。

GAC似乎只包含2014.1.403.45,我发布的.dll是2014.1.403.45,它是另一个Web应用程序的子文件夹中的新Web应用程序,但具有自己的v4.0流水线应用程序池。当试图运行这个小丑时,融合日志说:

=== Pre-bind state information ===
LOG: DisplayName = Telerik.Web.UI, Version=2008.3.1105.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4
 (Fully-specified)
LOG: Appbase = file:///C:/inetpub/PreferredPartners/
LOG: Initial PrivatePath = C:\inetpub\PreferredPartners\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\inetpub\PreferredPartners\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Telerik.Web.UI, Version=2008.3.1105.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4
LOG: Attempting download of new URL file:///C:/inetpub/temp/preferredpartners/2313acbd/d597ac57/Telerik.Web.UI.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/temp/preferredpartners/2313acbd/d597ac57/Telerik.Web.UI/Telerik.Web.UI.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/PreferredPartners/bin/Telerik.Web.UI.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

对于我的生活,我无法弄清楚它在2008.3.1105.35中的位置。我没有在GAC中看到该版本,我没有在我的项目文件,web.config或项目中的任何其他地方看到它被引用。只有当我发布到我们的测试服务器时,我的开发机器上才会出现此问题。我的发布设置让它在部署之前清除目录。我真的不明白融合日志告诉我的是什么。我知道它正在寻找错误的版本,但为什么

  • 我重新启动了IIS。
  • 我已清除临时文件。
  • 我重新安装了Telerik。
  • 无论何时我都可以找到通常引用的程序集,我强烈地将它命名为确切的版本。
  • 我已将以下行添加到我的web.config:

(删除不相关的元素)

<system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.5.1">
        <assemblies>
            <remove assembly="Telerik.Web.UI" />
            <add assembly="Telerik.Web.UI, Version=2014.1.403.45, Culture=neutral, PublicKeyToken=121FAE78165BA3D4" />
        </assemblies>
    </compilation>
</system.web>
<runtime>
    <dependentAssembly>
        <assemblyIdentity name="Telerik.Web.UI"
                          publicKeyToken="121fae78165ba3d4"
                          culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2014.1.403.45" newVersion="2014.1.403.45" />
    </dependentAssembly>
</runtime>

它仍在寻找2008.3.1105.35。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我将其移出另一个网站,它开始工作了。我原以为拥有一个单独的应用程序池可以让它被区别对待;显然我在这个假设中会错。