‫۷ سال و ۲ ماه قبل، پنجشنبه ۵ مرداد ۱۳۹۶، ساعت ۱۶:۰۲
مشکل تداخل نگارش‌های مختلف را با هم دارید.
- ابتدا مطمئن شوید که بسته‌ها را فقط از طریق نیوگت اضافه کرده‌اید و نه ارجاع دستی (مهم).
- همچنین مطمئن شوید که بسته‌ی EF در پروژه‌ای که به آن اشاره کرده، نصب شده‌است.
- سپس یکبار تمام بسته‌ها را به روز کنید و در ادامه یکبار هم بر اساس نگارش فعلی دات نت انتخابی، آن‌ها را تنظیم مجدد کنید:
PM> update-package
PM> update-package -reinstall
‫۷ سال و ۲ ماه قبل، پنجشنبه ۵ مرداد ۱۳۹۶، ساعت ۱۵:۴۹
درود؛ من این کد رو نوشتم:
private static Container defaultContainer()
        {
            var container = new Container(ioc =>
            {
                // map same interface to different concrete classes
                ioc.For<IUser>().Use<EFUserService>();
                ioc.For<IUnitOfWork>().Use(() => new ApplicationDBContext())();
            });
            container.AssertConfigurationIsValid();

            return container;
        }
ولی مشکلی که هست اینه که به این خط خطا میده:
  ioc.For<IUnitOfWork>().Use(() => new ApplicationDBContext())();
و خطایی که میده اینه :
ErrorCS0012The type 'DbContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=19f9d7d4cc76b670'.BimehKosarE:\myproject\BimehKosar\BimehKosar\StrucerMap\SmObjectFactory.cs
من در همه پروژه هام Entityframework 6.1.3 رو نصب کردم. الان چندین با حذفشون کردم و دوباره نصبشون کردم ولی بازم همین خطا رو میده. مشکلش از چیه؟ باید چکار کنم؟
‫۷ سال و ۲ ماه قبل، چهارشنبه ۴ مرداد ۱۳۹۶، ساعت ۲۱:۵۹
درود؛ من دارم از C# ( WPF) استفاده میکنم. می‌خوام از StructureMap  استفاده کنم ولی هر کاری میکنم خطا میده.

این کد منه
private static Container defaultContainer()
        {
            var container = new Container(ioc =>
            {
                // map same interface to different concrete classes
                ioc.For<IUser>().Use<EFUserService>();
                ioc.For<IUnitOfWork>().HybridHttpOrThreadLocalScoped().Use<ApplicationDBContext>();
            });
            container.AssertConfigurationIsValid();

            return container;
        }
پیاده سازی UnitofWork طبق آموزشی که شما تو سایت گذاشته بودید در DBContext پیاده سازی کردم و الان داره این خطا رو به من میده.
نمیتونه اینو پیدا کنه :
.HybridHttpOrThreadLocalScoped()
مشکل چیه ؟ باید چکار کنم؟
‫۷ سال و ۲ ماه قبل، سه‌شنبه ۲۰ تیر ۱۳۹۶، ساعت ۱۷:۳۳
متد GetControllerInstance بهتره به صورت زیر اصلاح بشه:
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
{
  throw new HttpException(404, $"Resource not found : {requestContext.HttpContext.Request.Path}");
}

if (!typeof(IController).IsAssignableFrom(controllerType))
{
  throw new ArgumentException($"{controllerType} is not a subclass of ControllerBase");
}

return ObjectFactory.Container.GetInstance(controllerType) as Controller;
}

چون با کدی مثل زیر به مشکل بر میخوره:
<customErrors mode="On" defaultRedirect="/Content/GeneralErrorPage.html">
  <error statusCode="404" redirect="/Content/NotFound.html"/>
</customErrors>

و موجب میشه تا در صورت یافت نشدن منبع، به جای هدایت به صفحه‌ی NotFound.html، خطای Page not found رخ بده.
رفتار صحیح در سورس خود MVC هم وجود داره که من کمی اصلاحش کردم.
- کدهای به روز شده‌ی این سری در مخزن کد آن قرار دارند. ObjectFactory مخصوص نگارش 3 آن بوده که در نگارش 4 حذف شده‌است. به همین جهت SmObjectFactory تهیه شده‌است.
- context را باید از طریق الگوی واحد کار مورد استفاده قرار داد (و تفاوتی هم نمی‌کند که چه نوع پروژه‌ای باشد؛ اصول آن یکی است).
1.کلاس ObjectFactory در پروژه‌ی من شناخته نمیشود با اینکه StructureMap نیز نصب هست
2. در سرویس‌ها چگونه از context استفاده کنم آیا لازم است در constructor تزریق شود؟(مثل کاری که در پروژه‌های mvc انجام میدادیم)
‫۷ سال و ۵ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۶، ساعت ۰۵:۱۷
سلام؛ اگر بخوایم از این روش در کنار UnitOfWork استفاده کنیم تکلیف تزریق وابستگی اینترفیس IUnitOfWork به سازنده کنترلرها چی میشه؟ آیا نیازی به تنظیمات اضافه هست یا همین مراحلی که گفته شده کافیه؟