从命令行运行OwinHost困难

use*_*811 5 host owin

我一直在研究各种OWIN教程,并且一直遇到相同的问题。当我使用F5在Visual Studio(2013)中启动应用程序时,它们运行良好,但是当我通过命令行导航到Owinhost.exe并启动它时,每次都会遇到相同的错误:

错误:System.EntryPointNotFoundException

尝试加载应用程序时发生以下错误。

  • 找不到包含OwinStartupAttribute的程序集。

  • 找不到包含Startup或[AssemblyName] .Startup类的程序集。

在网上的各种建议中,我有:

1)确保输出目录只是“ / bin”而不是“ / bin / debug”。

2)在我的启动类中定义了程序集:

[assembly: OwinStartup(typeof(StartUpDemo.Startup))]
Run Code Online (Sandbox Code Playgroud)

3)设置我的web.config

<appSettings>
<add key="owin:AppStartup" value="StartUpDemo.Startup"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

4)我还尝试使用值为“ false”的appSetting owin:AutomaticAppStartup禁用OWIN启动发现,但无济于事。

似乎OwinHost.exe甚至没有找到我的应用程序.dll,但是正如我之前提到的,当我从IDE中启动它时,它在VS2013中运行良好。我已经在“ Web”选项卡中更改了项目设置以使用OwinHost,但是否则项目设置是正常的。VS2013是否具有我需要传递到命令行的信息才能使其正常工作?我的配置中缺少什么吗?

dim*_*2lo 4

好吧,我不知道这个问题是否已经得到解答,但无论如何,我在尝试运行 Owinhost 时遇到了同样的问题。

问题是我试图在 ..\tools\ 路径中运行 Owinhost。实际上,必须做的是在项目路径(例如 Project.Web)中,并在此路径运行 Owinhost 调用:“..\packages\OwinHost.\tools\OwinHost.exe”

结论:

错误的:

C:\{your_root_path}\{your_solution}\packages\OwinHost.<version>\tools> OwinHost.exe
Run Code Online (Sandbox Code Playgroud)

正确的:

C:\{your_root_path}\{your_solution}\{your_project}> ..\packages\OwinHost.<version>\tools\OwinHost.exe

希望我有所帮助。问候。