ASP.NET自托管错误

时间:2014-11-11 23:33:20

标签: c# asp.net asp.net-web-api self-hosting

我正在尝试让ASP.NET Web API自主运行。我一直收到这个错误。

如何解决此问题?

假设程序集引用Microsoft.Owin, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' matches assembly Microsoft.Owin,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。您可能需要提供运行时策略(CS1701)

这是我的简单启动脚本。

static void Main(string[] args)
    {
        using (WebApp.Start<TestApi> ("http://*:9090/")) 
        {
            Console.WriteLine ("server started");
        }
    }

1 个答案:

答案 0 :(得分:0)

两个程序集的版本和/或版本号不同。要进行统一,必须在应用程序的.config文件中指定指令,并且必须提供正确的程序集强名称,如以下示例代码所示:

using System.Reflection;
[assembly:AssemblyVersion("1.0")]
public class A {
   public void M1() {}
}

OR:

也许您需要在.config

中进行绑定重定向
<configuration>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>
</configuration>