【问题标题】:Could not load file or assembly 'Telerik.Web.UI, Version=2008.3.1105.35无法加载文件或程序集 'Telerik.Web.UI,版本 = 2008.3.1105.35
【发布时间】:2014-05-27 20:22:48
【问题描述】:

好吧,这快把我逼疯了。

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。我错过了什么?

【问题讨论】:

    标签: c# telerik dependencies versioning


    【解决方案1】:

    我把它从另一个网站上移了出来,它开始工作了。我会假设拥有一个单独的应用程序池将允许它被区别对待;显然我的假设是错误的。

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2020-05-09
      • 2018-10-04
      相关资源
      最近更新 更多