Tôi có một dự án mà tôi sử dụng StructureMap để tiêm phụ thuộc. Dự án biên dịch tốt như một dự án MVC nhưng sau khi di chuyển tất cả mọi thứ cho một dự án MVC2 Tôi bây giờ nhận được lỗi sau:ASP.NET MVC 2 Preview 1 - Vấn đề biên soạn Nhà máy điều khiển StructureMap
Test.Web.Controllers.StructureMapControllerFactory.GetControllerInstance(System.Type)': no suitable method found to override C:\Test\Web\Controllers\StructureMapControllerFactory.cs 11 40 Test.Web
Đây là StructureMapControllerFactory tôi:
using System;
using System.Web.Mvc;
using StructureMap;
namespace Test.Web.Controllers
{
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)**
{
IController result = null;
try
{
if (controllerType == null) return base.GetControllerInstance(controllerType);
result = ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
return result;
}
}
}
Tôi đã tìm thấy một bài bán liên quan đến vấn đề này nhưng không cung cấp bất kỳ thông tin chi tiết nào về cách giải quyết vấn đề của tôi: MVC 2 preview 1 - methods with parameters in the controller fail to load
Rõ ràng tôi phải thiếu thay đổi so với tiến trình 1.0-2.0, nhưng tôi không chắc chắn những gì đã thay đổi. Mọi trợ giúp luôn được đánh giá cao.
Cảm ơn Craig rất nhiều. Tôi tự hỏi tại sao điều này không được phản ánh trong trình duyệt đối tượng VS khi khám phá không gian tên System.Web.MVC [2.0.0.0]. –
Không chắc chắn, nhưng bạn có thể gõ ov [spacebar] trong trình soạn thảo mã (nghĩa là bắt đầu nhập "ghi đè", nơi bạn thường khai báo một phương thức mới) để có danh sách các phương thức quá tải cho lớp hiện tại với chữ ký của chúng. –