Hi,
I am in the process of upgrading an EPiServer site, with EPiServer Find from 9.6.1 to 11, and I have stumbled upon a problem I haven't been able to figure out.
When running the following code in an initialization module, we get some LoaderException errors.
[ModuleDependency(typeof (EPiServer.Web.InitializationModule))]
public class ContentIndexerInitialization: IInitializableModule
{
public void Initialize(InitializationEngine context)
{
// Some code before this running fine.
SearchClient.Instance.Conventions.UnifiedSearchRegistry.ForInstanceOf<ProductPage>();
}
public void Uninitialize(InitializationEngine context)
{
}
}
Turning on the Fusion log tells me the following:
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.Collections.Immutable
(Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: System.Collections.Immutable | Domain ID: 2
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
LOG: Appbase = file:///C:/Sites/Medlemsportal/Medlemsportal/Pdk.Mp2.Website/
LOG: Initial PrivatePath = C:\Sites\Medlemsportal\Medlemsportal\Pdk.Mp2.Website\bin
LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9dcaf1ff
LOG: Cache Base = C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9dcaf1ff
LOG: AppName = 69b46dd
Calling assembly : StructureMap, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null.
I am able to install System.Collections.Immutable 1.1.37 (not 1.2.0 which it asked for in anoter fusion log) and create a binding redicret telling it to use 1.1.37 if asking for a 1.2.0
The problem is that I still get a LoaderException error:
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.Runtime.Loader, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = file:///C:/Sites/Medlemsportal/Medlemsportal/Pdk.Mp2.Website/
LOG: Initial PrivatePath = C:\Sites\Medlemsportal\Medlemsportal\Pdk.Mp2.Website\bin
LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9dcaf1ff
LOG: Cache Base = C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9dcaf1ff
LOG: AppName = 69b46dd
Calling assembly : Microsoft.CodeAnalysis.Scripting, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
And this assembly I can't resolve.
As far as I understand, this Nuget package is only for .NET Core projects, and therefore cannot be intsalled into a .NET framework 4.6.1 / 4.7.2 project.
I have been able to add the Nuget package, but it never gets into the project references. And it does not produce a .dll file which I can use.
The versions I am upgrading from and to:
- EPiServer.CMS 9.6.1 -> 11.5.4
- EPiServer.CMS.Core 9.6.1 -> 11.5.4
- EPiServer.CMS.UI 9.6.1 -> 11.5.4
- EPiServer.CMS.UI.Core 9.6.1 -> 111.5.4
- EPiServer.Framework 9.6.1 -> 11.5.4
- EPiServer.Find 12.0.1 -> 12.7.0 (forced by EPiServer.CMS.Core)
- EPiServer.Find.Cms 12.0.1 -> 12.7.0 (forced by EPiServer.CMS.Core)
- EPiServer.Find.Cms.AttachementFilter 12.0.1 -> 12.7.0 (forced by EPiServer.CMS.Core)
- EPiServer.Find.Framework 12.0.1 -> 12.7.0 (forced by EPiServer.CMS.Core)
We also have the following EPiServer packages installed:
- EPiServer.Labs.LanguageManager 1.5.2.9000 -> 3.1.6
- EPiServer.LiveMonitor 8.3.1.90000 -> 8.5.0
- EPiServer.Logging.Log4net 2.0.0 -> 2.2.2
- EPiServer.Packaging 3.2.4 -> 3.4.0
- EPiServer.Packaging.UI 3.2.4 -> 3.4.0
- EPiServer.VisitorGroupsCriteriaPack 1.2.0.9000 -> 2.0.1
Does anyone have any ideas how to solve / debug this problem any further?