f# Web API ライブラリを参照している c# mvc プロジェクトで、「アセンブリ MyApp.Api から型 MyApp.Api.App を読み込めませんでした」というランタイム エラーが発生します。C# プロジェクト MyApp.Web には、F# プロジェクト MyApp.Api へのプロジェクト参照があり、コンパイル エラーはありません。問題は何ですか?
プロジェクト MyApp.Api の App.fs
namespace MyApp.Api
open System
open System.Web
open System.Web.Mvc
open System.Web.Routing
open System.Web.Http
open System.Data.Entity
open System.Net.Http.Headers
open System.Net.Http.Headers
type Route = { controller : string; action : string; id : UrlParameter }
type ApiRoute = { id : RouteParameter }
type App() =
inherit System.Web.HttpApplication()
static member RegisterGlobalFilters (filters:GlobalFilterCollection) =
filters.Add(new HandleErrorAttribute())
static member RegisterRoutes(routes:RouteCollection) =
routes.IgnoreRoute( "{resource}.axd/{*pathInfo}" )
routes.MapHttpRoute( "DefaultApi", "api/{controller}/{id}",
{ id = RouteParameter.Optional } ) |> ignore
routes.MapRoute("Default", "{controller}/{action}/{id}",
{ controller = "Home"; action = "Index"; id = UrlParameter.Optional } ) |> ignore
member this.Start() =
AreaRegistration.RegisterAllAreas()
App.RegisterRoutes RouteTable.Routes
App.RegisterGlobalFilters GlobalFilters.Filters
そして MyApp.Web の私の global.asax.cs
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using MyApp.Api;
namespace MyApp.Web
{
public class WebApiApplication : MyApp.Api.App// System.Web.HttpApplication
{
protected void Application_Start()
{
base.Start();
}
}
}