如何为 asp.net vnext 使用不同的 .net 语言 (F#)

Posted

技术标签:

【中文标题】如何为 asp.net vnext 使用不同的 .net 语言 (F#)【英文标题】:How can I use a different .net language (F#) for asp.net vnext 【发布时间】:2014-08-22 21:04:19 【问题描述】:

我很感兴趣如何使用不同的 .NET 语言(例如 F#)并仍然以 asp.net vNext 为目标。 我能想到的一种方法是制作 F# NuGet 包并引用它,但这仍然不允许您使用 F# 或任何其他 .net 语言进行所有实现(我不是在谈论剃刀页面)。

我的意思是,当您执行k run 时,它似乎只是使用 Roslyn 编译所有 *.cs 文件并收工。没有办法改变任何东西,或者至少我找不到办法。

这意味着将 asp.net vnext 完全从另一种 .net 语言(不支持 Roslyn 意味着不是 C# 或 vb.net)作为目标的唯一其他选择是以某种方式编译引用 asp.net vnext 程序集的程序集并在其中运行它IIS?从而绕过k runproject.json 中定义的k web

【问题讨论】:

见blog.alxandr.me/2014/11/23/… 【参考方案1】:

在更多地使用示例并在 iisexpress 中进行一些测试之后,我可以确认您可以使用 F# 并运行基于 F# 的 asp.net vnext Web 应用程序。

我使用了一个简单的示例,它只是从配置中的 Startup 类响应一个字符串。我编译了它并从用户 kre 包文件夹中引用了 Microsoft.AspNet.Http 程序集。 我在 bin 文件夹中使用 Helios 中的 AspNet.Loader.dll 并在那里复制了 f# 程序集,它在 iisexpress 下运行良好。

【讨论】:

你能扩展一下吗?使用字符串从 Startup 类响应涉及什么? 你应该写一篇关于这个的博客!

以上是关于如何为 asp.net vnext 使用不同的 .net 语言 (F#)的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET vnext 和打开数据库

在 ASP.NET vNext 中,为啥没有即时重新编译代码?

在 Kestrel、helios、WebListener 和单独的控制台进程中托管 Asp.Net vNext 应用程序有何不同?

ASP.NET vNext 可以使用非 vNext 引用吗?

ASP.NET 5 (vNext) 中的身份验证

如何更改 asp.net identity 3 (vnext) 使用的表名?