如果我使用自托管的网络API(OWIN)启动我的应用程序,则会收到以下错误消息:
{“尝试加载应用时出现以下错误。\ r \ n - 对于app启动参数值'.... PlugIn.WebService.Startup,.... PlugIn.WebService,Version = 1.0.0.0,Culture = neutral, PublicKeyToken = null',程序集'.... PlugIn.WebService,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'找不到。“:”“}}
Owin是在动态加载的assmbly中实现的。
以下行中出现错误:
webApiDisposable = WebApp.Start<Startup>(url: baseAddress);
基本网址为:http://localhost:42015/
创业公司看起来像:
public class Startup
{
/// <summary>
/// Configurate the new http client
/// </summary>
/// <param name="appBuilder">OWIN App builder</param>
public void Configuration(IAppBuilder appBuilder)
{
string routeTempl = "api/" + EndpointManager.API_VERSION +
"/{controller}/{action}/{id}";
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: routeTempl,
defaults: new { id = RouteParameter.Optional }
);
// Attribute routing
config.MapHttpAttributeRoutes();
// Set all filter, like for authentication and autoriuation
config.Filters.Add(new IntegratedAuthorization());
// Setup Json-return
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
config.Formatters.JsonFormatter.SerializerSettings =
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
appBuilder.UseWebApi(config);
}
}
奇怪的是,在另一个项目中它运作得很好。我也试过Owin.Start-Attribute
。
答案 0 :(得分:0)
我遇到了同样的问题,启动程序时找不到Startup
类。这不是一个仅与OWIN相关的问题,但可能也是出于同样的原因。
由于某些原因,Web服务的程序集名称已更改,不幸的是,它与同一项目引用的另一个程序集相同。
当然,他们发生冲突。 解决方案是重命名程序集。
我知道帮助BendEg已经很晚了,但也许这对其他人有用。