[MonoDevelop] Monodevelop Addins

Ian Norton ian.norton-badrul at thales-esecurity.com
Thu Feb 2 12:07:34 UTC 2012


On Tue, Jan 31, 2012 at 07:52:09PM +0000, Charlie Poole wrote:
> Hi All,
> 
> I've had an (unintentional) offline exchange with Ian about this, so I'll
> summarize a few thoughts here. They pertain to how the addin might
> work with NUnit - not to what it currently does.
> 
> 1. The nunit.framework assembly is referenced by user tests and is
> not referenced by any other nunit assemblies - except my own tests.
> So I'm wondering why you need the framework assembly at all for
> the addin.
> 
> 2. The core for any version of NUnit 2.n will work with tests built
> against the framework 2.0 through 2.n. It will partially work (so long
> as no new features are used) with frameworks greater than 2.n.
> If it were me, I'd use the core from NUnit 2.6 - which will  be final
> within a week or two - and let the user select the desired framework
> by referencing it elsewhere.
> 
> 3. You'll need a new addin when 3.0 comes out, since the API
> is changing significantly. On the plus side, upgrades should
> be easier post-3.0.
> 
> Charlie
> 
> On Tue, Jan 31, 2012 at 9:55 AM, Michael Hutchinson
> <m.j.hutchinson at gmail.com> wrote:
> > On 29 January 2012 04:54, Ian Norton
> > <ian.norton-badrul at thales-esecurity.com> wrote:
> >> Hello All,
> >>
> >> I'm trying to work out the best way to add multiple version nunit support tot
> >> he nunit addin. I'm wondering what exactly this fragment of addin.xml means:
> >>
> >>    <Extension path="/MonoDevelop/Core/SupportPackages">
> >>        <Condition id="PackageNotInstalled" name="mono-nunit" version="2.7">
> >>            <Package name="nunit" version="2.4" clrVersion="Default">
> >>                <Assembly file="nunit.core.dll" />
> >>                <Assembly file="nunit.core.interfaces.dll" />
> >>                <Assembly file="nunit.framework.dll" />
> >>            </Package>
> >>        </Condition>
> >>    </Extension>
> >>
> >> Does this mean:
> >>
> >> If mono-nunit == 2.7 is not installed, create a pseudo package called nunit-2.4
> >> containing the nunit dlls shipped with monodevelop?
> >
> > Pretty much, yes. I have no idea where the mono-unit package comes
> > from, however.

You get a mono-nunit.pkg when you build mono, the version is that of the mono
build. So depending on a specific version for this clause isn't a good idea. (
IMO the mono-nunit package version is what is wrong )

> >> To my mind the version 2.7 part looks like it is expecting it from mono 2.7, so
> >> what this looks like it does is "always" create an nunit package unless you
> >> have quite an old unstable mono install?
> >>
> >> I have a slight problem, that even if my project explicitly links against 2.5
> >> dlls, monodevelop forces it to use 2.4, could this be the cause?
> >
> > I don't think so, but I I'm not sure I understand exactly what the
> > problem is. You mean that the test project (or the addin?) explicitly
> > references 2.5 but the build uses 2.4?
> >
> > I've cc'd Dale because he was working on support for multiple test runners.

I'm looking forward to that! :)

I've tracked down part of my problems to a bug in the stuff that generates our
csproj files, they would insert an invalid HintPath so MD would fallback to the
only nunit.framework it knew about ( the one in the AddIns/NUnit folder ).

Many Thanks

Ian


More information about the Monodevelop-list mailing list