2013-10-30 46 views
4

我一直在使用各种OWIN教程,并一直遇到同样的问题;当我使用F5从Visual Studio(2013)启动它们时,应用程序工作正常,但是当我通过命令行导航到Owinhost.exe并启动它时,每次都会收到相同的错误:从命令行运行OwinHost的难度

错误:系统。 EntryPointNotFoundException

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

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

  • 否组件发现含有一个启动或[的AssemblyName] .STARTUP类。

提出的各种建议在网上,我有:确认在输出目录就是 “/ bin中”,而不是 “/斌/调试”

1)。

2)中定义的组件在我的启动类:

[assembly: OwinStartup(typeof(StartUpDemo.Startup))] 

3)设置我的web.config

<appSettings> 
<add key="owin:AppStartup" value="StartUpDemo.Startup"/> 
</appSettings> 

4)我也曾尝试使用appSetting owin禁用OWIN启动发现:AutomaticAppStartup具有“假”的价值都无济于事。

好像OwinHost.exe甚至没有找到我的应用程序的.dll,但正如我前面提到的,它在VS2013当我从IDE中启动它工作正常。我更改了“web”选项卡中的项目设置以使用OwinHost,但是项目设置是正常的。 VS2013是否有我需要传递到命令行以使其正常工作的信息?我在配置中丢失了什么吗?

+0

哪个目录,你是在控制台中,当您尝试启动owinhost.exe? Owinhost。如果当前文件夹是'bin'或者您位于Web应用程序文件夹并执行如下所示的类似命令c:\ MyProjects \ MyWebApp> .. \ packages \ Owinhost 当您在当前文件夹中启动类时,exe可以发现启动类\ TOOLS \ Owinhost.exe。 – Praburaj

+0

我正在做后者。我会补充说,我的启动类也在你的建议'bin'文件夹中。我只是尝试导航到bin目录,然后从那里启动OwinHost.exe - 工作,但似乎并不是它应该如何工作。 – user2187811

+1

您不必导航到bin文件夹,但导航到其父文件夹并在bin的父文件夹中执行Owinhost应该可以工作。我刚刚提到从bin文件夹执行也可以。或者,Owinhost.exe有一个-d参数,可以接受目标文件夹路径来搜索启动类。 – Praburaj

回答

2

好了,我不知道,如果这个问题已经回答了,但无论如何,我试图通过Owinhost运行时有同样的问题。

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

结论:

错误:

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

正确:

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

希望我甲肝e帮助。问候。

+1

这只是一种运行'OwinHost.exe'的方法,将目标参数设置为当前目录(这是项目文件夹)。这里最重要的是目标路径恰好是***项目文件夹***,不包括***/bin ***路径,这是导致OwinHost.exe找不到任何入口程序集的主要原因。所以这里很混乱,因为目标路径应该在***/bin ***文件夹(包含应用程序的 程序集)处结束。您始终可以使用'-d'参数指定'OwinHost.exe'的目标路径,以便您可以从任何地方运行'OwinHost.exe'。 –

+0

这是运行它的唯一方法(当然,没有从OwinHost的安装位置拷贝解决方案的软件包目录中的所有内容)。谢谢。 – JakeJ

-1

到这个文件夹OwinHost.3.1.0 \工具和复制的一切,并把在应用程序文件夹。 现在OwinHost将工作

+0

我无法撤销我的-1而不给+1 ......微软需要修复他们的安装 - >他们的文档目前处于OwinHost不直接工作的状态。这里最好的解决方案就是转到项目根目录并从那里调用安装位置,就像上面的dime2lo的注释一样。稍后,程序员进入项目后,移动安装目录将导致很难理解的解决方案。 必须移动安装是不好的做法/将文件从包管理中取出。 – JakeJ