5

我正在尝试设置一个自托管的 OWin 应用程序(使用 VS2012) - 我认为它很接近,因为我可以从包含 .csproj 的目录运行 OwinHost.exe 并且应用程序从 localhost:5000 正确地提供服务。我创建了一个默认的 nuspec 文件并添加了以下内容

<files>
  <file src="bin\*.dll" target="bin" />
  <file src="views\home\home.html" target="content" />
  <file src="web.config" target="content" />
</files>

在 AssemblyInfo.cs

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

当我安装软件包( nuget install mypackage )时,出现以下错误...

从默认端口开始:5000...

Error:  System.ArgumentException
No conversion available between 
System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],
System.Threading.Tasks.Task] and Microsoft.Owin.OwinMiddleware. 
Parameter name: signature

如果您想了解更多信息,请告诉我

干杯!

4

2 回答 2

5

进入Manage Nuget Packages for Solution...解决方案,选择Updates并单击Update All(或选择适用的 owin 相关的)。

这为我修好了。

原始错误:

错误:System.ArgumentException System.Func 2[System.Collections.Generic.IDict ionary2[System.String,System.Object],System.Threading.Tasks.Task] 和 Microsoft .Owin.OwinMiddleware 之间没有可用的转换。参数名称:签名

更新 Nuget 包后:

启动默认端口:5000 ( http://localhost:5000/ ) 启动成功 按回车退出

于 2015-04-23T12:12:16.967 回答
-1

除了比较之外,还解决了一些老派问题——文件夹结构不正确,我在“content”而不是“”下为 views/* 和 web.config 设置了 nuspec 目标——现在一切正常。

于 2013-11-21T07:50:17.443 回答