Tôi đang cố gắng để có được autofac làm việc với một ứng dụng mvc6 tôi đang làm việc trên. Tôi tìm thấy this blog article tuy nhiên nó có vẻ là một chút ngày. Dường như nó sử dụng các bit beta3Bắt autofac để làm việc với mvc6 beta5
Tôi đang sử dụng phiên bản clr này
1.0.0-beta5-11911
dự án của tôi có tài liệu tham khảo những 2
"Autofac": "4.0.0-alpha2",
"Autofac.Dnx": "4.0.0-alpha2",
Trong bài viết nói về cách sửa đổi startup.cs
// Create the Autofac container builder.
var builder = new Autofac.ContainerBuilder();
// Add any Autofac modules or registrations.
builder.RegisterModule(new AutofacModule());
// Populate the services.
builder.Populate(services);
// Build the container.
var container = builder.Build();
return container.Resolve<IServiceProvider>();
Đoạn mã trên phàn nàn về builder.Populate(services);
đem lại cho tôi một lỗi
Loại 'IServiceDescriptor' được định nghĩa trong một hội đồng đó không được tham chiếu. Bạn phải thêm tham chiếu đến assembly 'Microsoft.Framework.DependencyInjection.IServiceDescriptor, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null'.
Từ nghiên cứu của tôi, có vẻ như trong bản beta4 DependencyInjection.IserviceDescriptor đã bị xóa.
Có ai khác đã quản lý để tự động làm việc với các bit beta5 mới nhất không?
Một sửa đổi nhỏ làm cho nó hoạt động var builder = new ContainerBuilder(); // Tạo vùng chứa và sử dụng dịch vụ ứng dụng mặc định làm dự phòng AutofacRegistration.Populate (builder, services); // builder.RegisterType() .As () .InstancePerLifetimeScope(); builder.Register (c => new Logger()) .As () .InstancePerLifetimeScope(); –
Chúng tôi vẫn đang hỗ trợ bản beta 5. Chúng tôi cũng cần hỗ trợ cấu hình đó. Kiểm tra nguồn cấp dữ liệu Autofac MyGet mới nhất; có lẽ chúng tôi sẽ không thúc đẩy NuGet cho đến khi VS cũng làm việc với bản beta 5 độc đáo. –
Tôi đang gặp vấn đề tương tự. Tôi đang sử dụng mvc6 beta5 + phiên bản mới nhất của Autofac từ nguồn cấp dữ liệu myget và kết quả là ngoại lệ sau: 'System.MissingMethodException Phương thức không tìm thấy: 'Boolean Microsoft.Framework.DependencyInjection.ServiceCollectionExtensions.TryAdd (Microsoft.Framework.DependencyInjection. IServiceCollection, Microsoft.Framework.DependencyInjection.ServiceDescriptor) '.' – rocky