[英]Downgrade Web API to run on Linux using MONO
我在C#.net 4.5中使用MVC4开发了Restful Web API。 现在我需要使用Mono在Cent OS Sever上部署此Web API。
我环顾网络发现我需要将版本降级到4.0,以便在Linux机器上使用Mono运行它。
如果任何人在尝试过此之前或有任何想法如何做,那么请帮助......!
要降级,只需执行以下操作,
请注意,对于NuGet包降级,有一些例外,
诀窍是访问http://nuget.org并搜索每个软件包,并选择2013年5月30日星期四发布的版本。
祝好运。
继Lex的答案之后,我开始在单声道/窗口下进行一个工作项目,这是我从降级中得到的差异......希望它有助于某人。
git diff
diff --git a/MonoApi.csproj b/MonoApi.csproj
index b6fc96f..93f670c 100644
--- a/MonoApi.csproj
+++ b/MonoApi.csproj
@@ -66,14 +66,14 @@
<HintPath>packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting">
- <HintPath>packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll</HintPath>
+ <HintPath>packages\Microsoft.AspNet.WebApi.Client.4.0.30506\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Web.Http">
- <HintPath>packages\Microsoft.AspNet.WebApi.Core.5.2.2\lib\net45\System.Web.Http.dll</HintPath>
+ <HintPath>packages\Microsoft.AspNet.WebApi.Core.4.0.30506\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost">
- <HintPath>packages\Microsoft.AspNet.WebApi.WebHost.5.2.2\lib\net45\System.Web.Http.WebHost.dll</HintPath>
+ <HintPath>packages\Microsoft.AspNet.WebApi.WebHost.4.0.30506\lib\net40\System.Web.Http.WebHost.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
diff --git a/Controllers/PersonController.cs b/Controllers/PersonController.cs
index a9c79f0..8a58974 100644
--- a/Controllers/PersonController.cs
+++ b/Controllers/PersonController.cs
@@ -25,7 +25,8 @@ namespace MonoApi.Controllers
Person person = databasePlaceholder.Get(id);
if (person == null)
{
- throw new HttpResponseException(HttpStatusCode.NotFound);
+ // HttpStatusCode method not implemenent on mono https://github.com/mono/aspnetwebstack/blob/current/src/System.Web.Http/HttpResponseException.cs
+ throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
}
return person;
}
到目前为止,除了这些软件包之外,我仍然以dot net 4.5为目标,因此我们将看到这是怎么回事
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.