0

我在我的 Web API 应用程序中使用 Automapper 和 StructureMap。我在编译期间收到以下错误消息。我已经安装了以下内容:

  1. 结构图 4.5

  2. 结构图.MVC5 3.1.1.134

  3. StructureMap.web 4.0.0.315

  4. 结构图.webapi2 3.0.4.125

    没有从MapperConfiguration到的隐式转换IMapperConfiguration

在以下代码行:

For<IMapperConfiguration>().Use(config);

完整代码如下

public class DefaultRegistry : Registry
    {
        #region Constructors and Destructors

        public DefaultRegistry()
        {
            var profiles = from t in typeof(DefaultRegistry).Assembly.GetTypes()
                           where typeof(Profile).IsAssignableFrom(t)
                           select (Profile) Activator.CreateInstance(t);


            var config = new MapperConfiguration(cfg =>
            {
                foreach (var profile in profiles)
                {
                    cfg.AddProfile(profile);
                }
            });



            //Create a mapper that will be used by the DI container
            var mapper = config.CreateMapper();

            //Register the DI interfaces with their implementation
            For<IMapperConfiguration>().Use(config);
            For<IMapper>().Use(mapper);


            //Register the UserRepository and pass instance of Mapper to its constructor
            For<IMovieBusiness>().Use<MovieBusiness>().Ctor<IMapper>().Is(mapper);

            For<IConnectionFactory>().Use<ConnectionFactory>();
            For<IMovieRepository>().Use<MovieRepository>();
            For<IUnitOfWork>().Use<UnitOfWork>();
            For<IMovieService>().Use<MovieService>();
            For<IMovieBusiness>().Use<MovieBusiness>();

        }
4

1 回答 1

0

MapperConfiguration IConfigurationProvider仅在 Automapper 6.1.0 中实现。

于 2017-06-23T09:45:19.190 回答