Hi @Crosswhite, Jesse ,
Thanks for your question! The error:
Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0'...
occurs because something in your app (likely System.Web.Optimization) is trying to load version 1.0.0.0, while your project has the Microsoft.Web.Infrastructure 2.0.0 NuGet package installed. This version mismatch causes the runtime to fail when accessed remotely.
Solution 1: Add a binding redirect
In web.config under <runtime>:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Then restart IIS. This tells the runtime to use the assembly from your NuGet package whenever version 1.0.0.0 is requested.
Solution 2: Verify DLL deployment
Ensure Microsoft.Web.Infrastructure.dll is present in your app’s /bin folder.
If it’s missing, reinstall via NuGet:
Update-Package Microsoft.Web.Infrastructure -reinstall
Rebuild and redeploy.
Optional
Check for older versions in the GAC:
gacutil -l Microsoft.Web.Infrastructure
If version 1.0.0.0 exists and isn’t needed by other apps, it can be removed to prevent conflicts.
The runtime is looking for v1.0.0.0 while your project has the 2.0.0 NuGet package. Adding a binding redirect and ensuring the DLL is deployed should resolve the remote load error.
Also, please confirm whether creating a blank project can reproduce the issue.
Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.