views:

14

answers:

0

I have a solution with an assembly that declares an AddinRoot; and an add-in project that extends an extension point in that assembly and which is deployed to a Mono.Addins lookup directory.

In addition, I have a desktop application project that uses the AddinRoot assembly and initializes the AddinManager - it works fine and finds the add-in.

However, I also have an ASP.NET web project that uses the same AddinRoot assembly and initializes the AddinManager with the same Mono.Addins registry folder, but doesn't find the add-in, and doesn't throw any exceptions either (say, in case the user didn't have the proper permissions to access the registry folder).

I thought that perhaps one difference between the web and desktop projects was that the AddinRoot assembly just wasn't being loaded by the time Mono.Addins was initialized or updated from the web project. So I added a call to a static Init method in the AddinRoot class before the Mono.Addins initialization, but that didn't solve it.

Code snippets (the calls are identical in the two projects, and the web/app.config keys have the same value):

// Initializes the add-in engine, passing the location of the add-in registry.
AddinManager.Initialize(ConfigurationManager.AppSettings.Get("MonoAddinRegistryPath"));

[...]

// Looks for new add-ins and updates the add-in registry.
AddinManager.Registry.Update();

Does anyone have any ideas about what could be causing this discrepancy with ASP.NET or any suggestions on troubleshooting Mono.Addins?

Thanks in advance.