Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Upgrading DNN after 2sxc install results in Microsoft.Bcl.AsyncInterfacesversion mismatch (8 vs 9) #6421

Open
2 tasks done
enfJoao opened this issue Feb 27, 2025 · 7 comments

Comments

@enfJoao
Copy link

enfJoao commented Feb 27, 2025

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

Working DNN10 RC1.
Only extensions in use are 2sxc and DNN tokens.

Steps to reproduce?

Upgrade DNN 10.0.0 after installing 2sxc.

Current Behavior

No response

Expected Behavior

No response

Relevant log output

Server Error in '/' Application.
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Bcl.AsyncInterfaces' could not be loaded.


WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].


Stack Trace:


[FileLoadException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]

[FileLoadException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +232
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +113
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +23
   System.Reflection.Assembly.Load(String assemblyString) +35
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +48

[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +767
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +256
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +58
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +287
   System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +69
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +137
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +172
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +854

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +532
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +111
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +719

Anything else?

No response

Affected Versions

10.0.0 (RC)

What browsers are you seeing the problem on?

Firefox

Code of Conduct

  • I agree to follow this project's Code of Conduct
@bdukes
Copy link
Contributor

bdukes commented Feb 27, 2025

Unfortunately, upgrading between RCs is not a supported scenario

@jeremy-farrance
Copy link
Contributor

I don't think an Release Candidate can or should be upgraded.

If it helps, in my clean install of RC2, Microsoft.Bcl.AsyncInterfaces.dll shows file version 8.0.23.53103. So an easy fix for above might be to add a binding redirect to target all versions to the available v8x.

@enfJoao
Copy link
Author

enfJoao commented Feb 27, 2025

It's actually not related (to upgrading RCs).
2sxc ships with v9 Microsoft.Bcl.AsyncInterfaces and DNN ships with v8.
So, installing DNN10 puts v8 in /bin, installing 2sxc replaces it with v9 and creates a redirect in web.config. Upgrading DNN places v8 again in /bin and the redirect will still be there, so it fails.
@iJungleboy perhaps a change in your end will be required, since it is replacing a DNN dll which will conflict with upgrades. Or DNN could use the v9 if nothing breaks.

@jeremy-farrance
Copy link
Contributor

I can verify the above (from @enfJoao), DNN 9.13.07 has v9.0.24.52809 and DNN v10 RC2 has v8.0.23.53103. So it does seem like there is a problem here that needs to be addressed.

@bdukes
Copy link
Contributor

bdukes commented Feb 27, 2025

Ultimately, DNN needs to create a new upgrade process to account for assemblies required for the install/upgrade process. As it currently stands, manual steps are required if upgrading a site that has changed the version of any assembly shipped in the upgrade package.

@jeremy-farrance
Copy link
Contributor

I am not great at hunting these things down, but it looks like this DLL is only used by some tests in one of the PersonaBar packages. So maybe it is something that should NOT be in a running DNN site?

@bdukes
Copy link
Contributor

bdukes commented Feb 27, 2025

It's definitely tricky to track down, but it's a dependency of some other dependencies, not only in tests (which I know because I was wrestling with these dependencies quite a bit last week).

@enfJoao enfJoao changed the title [Bug]: Upgrading DNN 10 RC1 to RC2 results in Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. [Bug]: Upgrading DNN after 2sxc install results in Microsoft.Bcl.AsyncInterfacesversion mismatch (8 vs 9) Mar 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants