Piotr Szmydの答えは基本的に正しいですが、ここでもう少し詳しく説明します。
Orchard Moduleは、Orchard.slnに追加した新しい.csprojです。そのcsprojへの参照としてAutofacを追加します(NugetではなくOrchardに含まれているバージョンを使用していることを確認してください。この問題の詳細については、こちらを参照してください)。 Autofac.Moduleから派生し、Load(ContainerBuilder)を実装するクラスを追加します。例えば
using System;
using Autofac;
namespace MyCustom.Module.Namespace
{
public class LoaderModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterType<MyClass>().As<IMyInterface>();
}
}
}
追記:Autofac登録コードは、アプリケーションの起動時にのみ呼び出されます。サイトをIISにローカルに配置し、コードをVSに配置して実行している場合、Orcahrdの動的コンパイルの性質は、コードを再コンパイルしてもアプリケーションが停止しないことを意味します。
したがって、このAutofac登録コードがヒットする(およびそれに対する変更が有効になる)には、アプリケーションを強制終了するためにiisresetを実行する必要があります。これにより、Autofac登録が再ロードされます。