2017-01-07 5 views
1

Я хочу, чтобы мой ASP.NET Core Web API запускался как автономный exe в рамках .NET Framework, а не .NET Core Framework. Это возможно? Благодаря!ASP.NET Core автономный exe

EDIT:

Если добавить "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. 
+3

Ответ да. Я предполагаю, что «как» подразумевается: используйте OWIN и используйте net45 в качестве целевой среды. Это технически два вопроса, и вы можете легко найти ответ, если будете искать. https://www.codeproject.com/articles/869223/asp-net-web-api-create-a-self-hosted-owin-based-we –

+1

Если вы используете ASP.NET Core и целевой net46 в своем проекте. json, вам нечего делать. Просто запустите '' 'dotnet publish'''. Это создаст файл .exe в папке публикации. – Kalten

+0

@ Stefanod'Antonio: Я думаю, что вы путаете самостоятельный хостинг с автономным – Tseng

ответ

2

Вы не можете создавать автономные приложения, которые цели .NET Framework> = 4.5, потому что полная .NET Framework не является модульной и ее невозможно установить более чем одной версии. Новые версии в основном всегда заменяют предыдущие.

Автономные приложения были один основной мотивацией для .NET Ядра (вместе с портативностью)

Вы ВСЕГДА должны установить .NET> = 4.5, прежде чем ваше приложение может работать. автономные приложения работают только с .NET Core, потому что основные библиотеки .NET можно вытащить через пакет nuget.

Для .NET 4.6 вы можете создавать портативные приложения, которые являются режимом по умолчанию.

+0

Я думаю, что вы, возможно, имели в виду .NET <= 4.5. – GlennSills

+0

@GlennSills: Я имел в виду то, что я сказал;) ASP.NET Core основан на 'System.Runtime', который доступен только с .NET 4.5. Таким образом, ASP.NET Core не может работать на любой платформе .NET Framework старше 4.5 из-за этого. .NET 4.5 по-прежнему является одной монолитной структурой и не может быть запущен бок о бок, поскольку он не является модульным. Вам всегда нужно установить его, прежде чем вы сможете запустить приложение .NET на нем. .NET Core отличается. Вы можете упаковать все вместе (Framework и приложение), чтобы просто разархивировать приложение, чтобы оно работало без установки определенной среды выполнения. – Tseng

+0

В основном: Portable Apps = требует установки времени выполнения, меньшего развертывания. Автономные приложения = не требуют установки времени выполнения, но размер развертывания растет (потому что библиотеки библиотеки необходимо развернуть с помощью приложения) – Tseng

 Смежные вопросы

  • Нет связанных вопросов^_^