无法在Mac上使用ScriptC编译自定义AutofacNancyBootstrapper

时间:2015-03-26 10:45:44

标签: c# .net autofac nancy scriptcs

我正在努力在MacOSX上的最新版本ScriptC(v0.14.0)上编译以下文件Bootstrapper.csx

using Autofac;
using Nancy.Bootstrappers.Autofac;

public class Bootstrapper : AutofacNancyBootstrapper
{
    private readonly ILifetimeScope _lifetimeScope;

    public Bootstrapper(ILifetimeScope lifetimeScope)
    {
        _lifetimeScope = lifetimeScope;
    }

    protected override ILifetimeScope GetApplicationContainer()
    {
        return _lifetimeScope;
    }
}

它会产生以下错误:

(15,39): error CS0508: `Bootstrapper.GetApplicationContainer()':
return type must be `Autofac.ILifetimeScope' to match overridden member
`Nancy.Bootstrappers.Autofac.AutofacNancyBootstrapper.GetApplicationContainer()'
/Users/tnt/Development/GitHub/scriptcs-gulp-nancyfx/scriptcs_packages
/Nancy.Bootstrappers.Autofac.1.1/lib/net40/Nancy.Bootstrappers.Autofac.dll
(Location of the symbol related to previous error)

我的scriptcs_packages.config如下:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Autofac" version="3.5.2" targetFramework="net40" />
  <package id="Nancy" version="1.1" targetFramework="net40" />
  <package id="Nancy.Bootstrappers.Autofac" version="1.1" targetFramework="net40" />
  <package id="Nancy.Hosting.Self" version="1.1" targetFramework="net40" />
</packages>

我已根据此示例中的代码,因此我怀疑它应该有效:

How to use Autofac to resolve instance per request dependencies for types in a child lifetime scope created by Nancy

如果我做了一些非常明显错误的事情,我会事先道歉但我却看不到它......

更新

遵循Adam Ralph的第一条评论中的流程大纲,它仍然失败(在MacOSX上)如下:

iTerm screen of it failing on MacOSX

0 个答案:

没有答案