【发布时间】:2017-01-07 23:11:19
【问题描述】:
我希望我的 ASP.NET Core Web API 在 .NET Framework 而不是 .NET Core Framework 中作为独立的 exe 运行。那可能吗?谢谢!
编辑:
如果我将 "net451": {} 添加到 project.json 中的框架部分,
我得到以下异常:
Failed to make the following project runnable: myProject (.NETCoreApp,Version=v1.0) reason: Expected coreclr library not found in package graph. Please try running dotnet restore again.
【问题讨论】:
-
答案是肯定的。我认为“如何”是隐含的:使用 OWIN 并使用 net45 作为目标框架。从技术上讲,这是两个问题,如果您搜索,您可以轻松找到答案。 codeproject.com/articles/869223/…
-
如果你使用 ASP.NET Core 并在你的 project.json 中以 net46 为目标,你什么都做不了。只需运行
dotnet publish。这将在发布文件夹中生成一个 .exe 文件。 -
@Stefanod'Antonio:我认为您将自托管与自包含混淆了
-
@Kalten:你也一样。问题是关于自包含,而不是自执行/自托管docs.microsoft.com/en-us/dotnet/articles/core/deploying/…。自包含意味着不需要额外的安装(即运行时),因为运行时随应用程序一起提供。这不适用于 .NET 4.x,仅适用于 .NET Core(因为它是模块化的)
-
@Tseng 自包含的 exe 必须是自托管的,反之亦然。你将如何在 IIS 中使用 exe?如果 marrschine 写了 self-contained only 我会同意的。
标签: asp.net-core asp.net-core-webapi