← Back to team overview

nunit-dev team mailing list archive

Changing the layout of NUnit.Runners nuget package

 

Hello,

I've been trying to create a NUnit runner completely built into LINQPad but
the limitation I'm incurring into is due to the layout of the NUnit.Runners
nuget package. Now, this is not necessarily a good reason to change it, but
I was wondering if the layout is intentionally like that or if it would
indeed make sense to change it.
If you look at the contents of the package you'll see that it looks more or
less like this:

_rels
package
tools
  /lib
    [all nunit runners dlls]
  [all nunit executables]

IOW, dlls like nunit.core.dll are in /tools/lib while executables are in
/tools. I believe it's a sort of NuGet convention that dlls should go in a
root folder called /lib and that's also how LINQPad behaves. When you
reference a NuGet package it adds references to the assemblies it finds in
the root lib folder and nothing else. Now, if you're referencing
NUnit.Runners you probably want to add references to the core/interfaces/..
assemblies (and referencing the exes won't hurt either), hence why I
suggest, unless there is a good reason not to do so, to change the layout
of the package so that the assemblies live in a /lib root folder rather
than in /tools and tools/lib.

You can see the runner in action by downloading this
query<http://share.linqpad.net/o9rtbn.linq>,
opening it on a recent beta <http://www.linqpad.net/Beta.aspx> of LINQPad
and referencing some NUnit's assemblies (core, core.interfaces, framework,
util, agent.exe).

Simone