إذا وجدت أي مشاكل ، فيرجى فتح مشكلة وتقديم أكبر قدر ممكن من المعلومات لمساعدتنا في تحديد مشكلتك. بدلاً من ذلك ، لا تتردد في إرسال طلب سحب إذا كنت تعتقد أنه يمكنك المساعدة في حل المشكلة. إذا كنت بحاجة إلى يد إرشادية حول كيفية البدء في طلبات السحب ، فيرجى إلقاء نظرة على إرشاداتنا للمساهمة . تأكد من أنك لا تفوت إرشادات الأسلوب ، فلن أفعل: د
ملاحظة: نظرًا لأن Nancy 2.0-clinteastwood هو إصدار ما قبل الإصدار ، فسيتعين عليك تثبيت الحزم باستخدام
-pre
toggle ، أيinstall-package Nancy -pre
الرجاء استخدام هذه المشكلة لنشر التعليقات التي لا تتعلق مباشرة بأي خطأ أو طلب سحب محدد تم الإبلاغ عنه.
فيما يلي قائمة بالمهام المحددة التي يجب تنفيذها في أعقاب إصدار 2.0.0-clinteastwood
ويجب إكمالها قبل إصدار 2.0.0-dangermouse
. قم بتحرير قائمة TODO وأضف العناصر كما تم العثور عليها ، أضف روابط لطلبات السحب التي تم إرسالها لإغلاقها
AsyncUsageAnalyzers
على تبعية الإصدار في كل project.json
و packages.config
المثال الصحيح للنسخ المتطابق هنا - (طلب السحب # 2700 @ jchannon*.nuspec
القديمة في جميع المشاريع (بما في ذلك Nancy) (pull-request # 2658jchannon)Nancy.Hosting.Aspnet\project.json
لتضمين web.config.transform
في الحزمة (طلب السحب # 2661 @ thecodejunkie)Nancy.ViewEngines.Razor\project.json
لتضمين app/web.config.transform
في الحزمة (طلب السحب # 2661 @ thecodejunkie)Nancy.ViewEngines.Razor\project.json
لتضمين Nancy.ViewEngines.Razor.BuildProvider
(بما في ذلك أهداف البناء) في الحزمةRequest.Cookies
و Request.Headers.Cookie
انظر # 2628 للمناقشاتAsyncUsageAnalyzers
كتبعية. يجب أن يكون هذا آمنًا ليتم إزالته ولن يتم تضمينه في 2.0.0-dangermouse
حيث سيتم تمييزه على أنه تبعية بناء في جميع المشاريعNancy.Hosting.Aspnet
لن تطبق *.config
Transitions` ، لتوصيل الاستضافة ، سيكون عليك تطبيقها بنفسكNancy.ViewEngines.Razor
لن تطبق تحويلات *.config
` لتوصيل خيارات تكوين محركات العرض ، سيكون عليك تطبيقها بنفسكNancy.ViewEngines.Razor
من حزمة NuGet ، مما يتسبب في مشاكل في إبراز بناء الجملة في عروض Nancy Razorيؤدي هذا إلى تجميع ، ولكنه يطرح وقت التشغيل NullReferenceException
:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
// do stuff
// Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
return null;
});
هذا يعمل:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
//do stuff
// Func<NancyContext, CancellationToken, Task<Response>>
return Task<Response>.FromResult((Response)null);
});
استغرق الأمر قليلًا من ضرب رأسي بالحائط حتى اكتشفت أنه ليس مخادعًا للغاية ولا سعيدًا.
تضمين التغريدة لقد فتحت https://github.com/NancyFx/Nancy/issues/2665 لأنني أرغب في إجراء إصلاح شامل لأشياء خط الأنابيب بمجرد أن يكون لدينا الوقت لإلقاء نظرة على أداة التشغيل (والذي سيحدث في أقرب وقت لقد نقلتنا إلى تنسيق csproj الجديد وهذا يحدث الآن في # 2720)
حلق الياك! 😄
هذا الرمز يطرح استثناء ، هل هذا خطأ؟
ج #
فئة عامة BaseModule: NancyModule
{
العمومي BaseModule (سلسلة url): قاعدة (url)
{
// منطق مخصص
}
}
فئة عامة A: BaseModule
{
عام أ (): قاعدة ("urlA")
{
}
}
فئة عامة B: NancyModule
{
الجمهور ب ()
{
}
}
حدث System.InvalidOperationException
HResult = 0x80131509
رسالة = حدث خطأ ما عند محاولة تلبية إحدى التبعيات أثناء التكوين ، تأكد من تسجيل جميع التبعيات الجديدة في الحاوية وفحص الاستثناء الداخلي لمزيد من التفاصيل.
المصدر =
تتبع المكدس:
في Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance()
at Nancy.Bootstrapper.NancyBootstrapperBase
1. GetEngine ()
في Nancy.Owin.NancyMiddleware.UseNancy (خيارات NancyOptions)
في Nancy.Owin.DelegateExtensions.UseNancy (الإجراء 1 builder, NancyOptions options)
at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action
1 x) في E: visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs: السطر 31
في Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (IApplicationBuilder builder ، Action`1 pipeline)
في PiggyBank.Site.Startup.Configure (تطبيق IApplicationBuilder ، IHostingEnvironment env ، ILoggerFactory loggerFactory) في E: visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs: السطر 31
الاستثناء الداخلي 1:
استثناء TinyIoCResolution: تعذر حل النوع: Nancy.NancyEngine
الاستثناء الداخلي 2:
TinyIoCResolutionException: تعذر حل النوع: Nancy.Routing.DefaultRequestDispatcher
الاستثناء الداخلي 3:
TinyIoCResolutionException: غير قادر على حل النوع: Nancy.Routing.DefaultRouteResolver
الاستثناء الداخلي 4:
TinyIoCResolutionException: تعذر حل النوع: Nancy.Routing.RouteCache
الاستثناء الداخلي 5:
TinyIoCResolutionException: تعذر حل النوع: BaseModule
الاستثناء الداخلي 6:
TinyIoCResolutionException: تعذر حل النوع: System.String
الاستثناء الداخلي 7:
TinyIoCResolutionException: تعذر حل النوع: System.Char []
الاستثناء الداخلي 8:
ArgumentNullException: لا يمكن أن تكون القيمة خالية.
""
ذلك لأن الوحدة الأساسية لا تحتوي على مُنشئ يمكن أن ترضيه حاوية IoC. لا يعرف كيف يتعامل مع string
. إذا لم يكن من المفترض أن يتم استدعاء BaseModule
من تلقاء نفسه ، أقترح عليك جعله abstract
...
عمر او قديم:
Get["post/{id}"] = Get["old/post/{id}"] = p =>{};
جديد (2.0):
?
الحصول على ("post / {id}"، MyMethod) ؛
احصل على ("old / post / {id}" ، MyMethod) ؛
الحصول على ("post / {id}"، MyMethod) ؛
احصل على ("old / post / {id}" ، MyMethod) ؛
يضيف هذا الاستخدام بعض المراوغة. أنا شخصيا لا أحب ذلك. ليست مشكلة بالرغم من ذلك.
ربما من الممكن أن يكون لديك بعض طريقة التحميل الزائد للتعبير بطلاقة؟ مثال:
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });
تعبير بديل
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });
يمكنني الحصول على طعنة في العلاقات العامة إذا كان هذا مرغوبًا فيه
التعليق الأكثر فائدة
ذلك لأن الوحدة الأساسية لا تحتوي على مُنشئ يمكن أن ترضيه حاوية IoC. لا يعرف كيف يتعامل مع
string
. إذا لم يكن من المفترض أن يتم استدعاءBaseModule
من تلقاء نفسه ، أقترح عليك جعلهabstract
...