OwinHost.exe لا يعمل لمشروع مكتبة الفصل
سؤال
لقد قمت بإنشاء مشروع مكتبة فئة جديدة مع فئة بدء التشغيل التالية:
public class Startup
{
public void Configure(IAppBuilder app)
{
app.Run(ctx =>
{
ctx.Response.StatusCode = 200;
ctx.Response.ContentType = "text/plain";
return ctx.Response.WriteAsync("Hello from Owin");
});
}
}
لقد قمت بتثبيت الحزم التالية:
<packages>
<package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Host.HttpListener" version="2.1.0" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="OwinHost" version="2.1.0" targetFramework="net45" />
</packages>
عندما أحاول الركض owinhost.exe
من /bin/debug
أحصل على الخطأ التالية:
Error: System.EntryPointNotFoundException
The following errors occurred while attempting to load the app.
- No assembly found containing an OwinStartupAttribute.
- No assembly found containing a Startup or [AssemblyName].Startup class.
هل أحتاج إلى القيام بأي شيء آخر لجعل OwinHost.exe يعمل مع مشروع مكتبة الفصل (واجهت نفس المشكلة مع تطبيق وحدة التحكم).
المحلول
إذا قمت بتنفيذ OwinHost.exe بدون معلمات، فيجب أن يكون اسم الطريقة Configuration
, ، لا Configure
.
أيضا، تنفيذ owinhost.exe
ضمن المسار الجذر (A.K.A {projectDir}) وإخراج الإصدارات إلى /bin، وليس /bin/debug.وبطبيعة الحال، هذه قابلة للتكوين من خلال التبديل إلى OwinHost.exe
ولكن هذا هو ما تحتاجه إذا كنت تريد تشغيله بدون أي مفاتيح.
المزيد من الشرح المتعمق متاح هنا: الكشف عن فئة بدء التشغيل OWIN و هنا: تجربة F5 قديمة جيدة مع OwinHost.exe على Visual Studio 2013