Error upgrading Add-on Store and other add-ons

Member since: 2007

Hi,

I'm getting the error "Error updating add-on "EPiServer Edit UI 2.1.82" "There are assemblies installed with add-ons present in the main 'bin' directory. Please check the log for details." What gives?

 

And when will this DLL hell be fixed? There are assemblies all over the place now, VPP/Modules/ModulesRepository, bin, modulesbin and packages (400 MB). It's impossible to keep track of them, and they are multiplying themselves by each upgrade and each new project.

I guess you don't see this problem with one project, but if you're working on 20+ projects and in different environments it's getting ridiculous.

#73797 Aug 09, 2013 19:24
  • Member since: 2007

    And which log? Log4net? Which namespace then?

    #73798 Aug 09, 2013 19:25
  • Yes, this is logged via log4net. The error message you are looking for would look something like the following:

    2013-08-13 12:59:25,819 [35] ERROR EPiServer.Packaging.SitePackageManager: Aborting operation. The following add-on assemblies exist in the main 'bin' directory: C:\EPiServer\ExampleEPiServerSite\wwwroot\bin\EPiServer.Cms.Shell.UI.dll

    I hope that helps to resolve your immediate problem.

    #73869 Aug 13, 2013 13:28
  • Member since: 2002

    Hi Johan.

    If you have concrete scenarios that you think we can support better or have any suggestions on how we can improve the way that dll:s are handled we're listening. In 7.5 we're making improvements in terms of making each site responsible for its dll:s (for example making ftp deploy much easier). We will also look into improving error messages like the above.

    #73877 Aug 13, 2013 14:57
  • Member since: 2007

    Ok, I found the assemblies now. But I don't see the point with the Add-on Store if we need to do manual work to make it work. Now we have to remove assemblies before updating and then re-add them.


    Peter: One concrete scenario would be to have a global repository with all assemblies and application files which all projects could share.

    And what I think most developers are missing is clear instructions what to version control. Ideally you just want to check out the project and hit F5 and it would run.


    Another hassle is deployment and updating all environments.

    #73922 Aug 14, 2013 13:04
  • You shouldn't have to re-add them. It refused to proceed with the installation because the assembly is not expected to be there and having it there could easily create a conflict after deploying a new version.

    #73923 Aug 14, 2013 13:09
  • Member since: 2007

    Well, I beg to differ :) The website won't run without them. Now we're missing:

    • \bin\HtmlAgilityPack.dll
    • \bin\ImageVault.Client.dll
    • \bin\ImageVault.Common.dll
    • \bin\ImageVault.EPiServer.Common.dll
    • \bin\ImageVault.EPiServer7.dll
    • \bin\sv\ImageVault.Client.resources.dll
    • \bin\sv\ImageVault.Common.resources.dll

    What exactly is an add-on assembly? And when we're building the project the above assemblies will be re-added to bin, and need to be deleted again before next update.

    #73924 Aug 14, 2013 14:29
  • Member since: 2002

    Hi!

     

    The cause of the problem is probably that you have referred to the ImageVault dll:s in your project and then they are copied to the bin folder. The ImageVault add-on uses the same dll:s and these are placed in the modulesbin folder. So you have the same dll:s in both bin and modulesbin folders. This is no problem when it comes to running the application since the assemblies in the bin folder will be loaded first.

     

    When the add-on system tries to update I guess that they have some kind of sanity check that identifies duplicate dll:s and throws an error when those are detected. This check must have been introduced in some add-on update since this was not an issue for the first version.

     

    To work around the issue, copy the culprit dll:s from the bin folder, and do the add-on operation, then copy them back after the add-on operation has completed.

     

    We are working on a separation of the ImageVault add-on to not reuse the assemblies in both the add-on and client nuget package (files you need to refer to in order to compile your solution).

     

    /Dan

    #74763 Sep 06, 2013 12:12
  • Member since: 2013

    I don't understand how to solve this problem. I have checked the logs for the .dll's causing the issue, which are 4 ImageVault dll's and Newtonsoft.Json. But if I remove them from the bin folder, the site crashes and I can't go through with the update.

    I can't uninstall the addon either because of the same reason. I am trying to upgrade the site from 7.0 to 7.5.

    Any ideas?

    EDIT: Removing the files from modulesbin instead of bin worked for me

    #120101 Edited, Apr 10, 2015 10:12
  • Member since: 2006

    Old thread, but just experienced the same thing. The solution was as Daniel says, to delete all files from modulesbin

    #162161 Oct 11, 2016 19:45