【发布时间】: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