[MonoDevelop] "Creating a Simple Addin"

Michael Hutchinson m.j.hutchinson at gmail.com
Fri Jan 22 21:24:30 EST 2010


On Fri, Jan 22, 2010 at 8:35 PM, Vasili I. Galchin <vigalchin at gmail.com> wrote:
> Hello,
>
>      I am practicing with Monodevelop's (Mono's??) ability to
> implement addins over extention points:
> /home/vasili/Documents/MonodevelopCreating_a_Simple_Add-in.html. I
> have higher goals that this exercise ;^). In any case, when I restart
> monodevelop after moving the MonoDevelop.Samples.DateInserter.dll into
>  ~/.config/MonoDevelop/addins/ , I get a load-time/run-time
> errors/warnings:
>
> WARNING: The add-in 'MonoDevelop.Samples.DateInserter,2.0' is trying
> to extend '/MonoDevelop/Ide/Commands/Edit', but there isn't any add-in
> defining this extension point
> WARNING: The add-in 'MonoDevelop.Samples.DateInserter,2.0' is trying
> to extend '/MonoDevelop/Ide/Commands/Edit/MonoDevelop.Samples.DateInserter.DateInserterCommands.InsertDate',
> but there isn't any add-in defining this extension point
> WARNING: The add-in 'MonoDevelop.Samples.DateInserter,2.0' is trying
> to extend '/MonoDevelop/Ide/MainMenu/Edit', but there isn't any add-in
> defining this extension point
> WARNING: The add-in 'MonoDevelop.Samples.DateInserter,2.0' is trying
> to extend '/MonoDevelop/Ide/MainMenu/Edit/MonoDevelop.Samples.DateInserter.Commands.InsertDate',
> but there isn't any add-in defining this extension point
> WARNING [2010-01-22 19:14:54Z]: Inotify watch limit is too low (8192).
> MonoDevelop will switch to managed file watching.
> See http://www.monodevelop.com/Inotify_Watches_Limit for more info.
> ERROR [2010-01-22 19:14:55Z]: Add-in error
> (MonoDevelop.Samples.DateInserter,2.0): Add-in could not be loaded:
> The required addin 'MonoDevelop.Samples.MonoDevelop.Ide,2.0' is not
> installed.
> Mono.Addins.MissingDependencyException: The required addin
> 'MonoDevelop.Samples.MonoDevelop.Ide,2.0' is not installed.
>  at Mono.Addins.AddinSessionService.ResolveLoadDependencies
> (System.Collections.ArrayList addins, System.Collections.Stack
> depCheck, System.String id, Boolean optional) [0x00000]
>  at Mono.Addins.AddinSessionService.ResolveLoadDependencies
> (System.Collections.ArrayList addins, System.Collections.Stack
> depCheck, System.String id, Boolean optional) [0x00000]
> ERROR [2010-01-22 19:14:55Z]: Add-in error (MonoDevelop.Samples.DateI

It appears to be trying to load "MonoDevelop.Samples.MonoDevelop.Ide"
as a dependency, which is wrong.

There is a slightly strange behaviour in Mono.Addins where the
dependencies are resolved within the addin's namespace, i.e. if your
addin namespace is "MonoDevelop.Samples" and you have a
"MonoDevelop.Ide" dependency, you would get the behaviour you're
seeing.

The solution is either to use
namespace="MonoDevelop" id= "Samples.DateInserter"
and depend on "Ide"
-or-
id="MonoDevelop.Samples.DateInserter" (no namespace)
and depend on "MonoDevelop.Ide"

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list