在Visual Studio 2015中,您可以通過右鍵單擊項目&去屬性,輕鬆設置MVC應用程序以使用完整的IIS。在Visual Studio 2017中設置.NET Core MVC應用程序以使用完整的IIS(不是IIS Express)
它是如何做到這一點的香草.NET核心Web在Visual Studio(MVC)項目目前尚不清楚2017年
我能找到任何關於這對谷歌 - 我在找錯了地方?
在Visual Studio 2015中,您可以通過右鍵單擊項目&去屬性,輕鬆設置MVC應用程序以使用完整的IIS。在Visual Studio 2017中設置.NET Core MVC應用程序以使用完整的IIS(不是IIS Express)
它是如何做到這一點的香草.NET核心Web在Visual Studio(MVC)項目目前尚不清楚2017年
我能找到任何關於這對谷歌 - 我在找錯了地方?
您可以將其託管在iis後面。
有basicly你必須做四件事情除了具有offcourse安裝IIS:
安裝.NET核心Windows服務器託管束。它可以在這裏找到 https://go.microsoft.com/fwlink/?linkid=837808
在應用程序依賴關係中包含對Microsoft.AspNetCore.Server.IISIntegration包的依賴關係。通過將.UseIISIntegration()擴展方法添加到WebHostBuilder()中,將IIS集成中間件整合到應用程序中。
打開cmd並運行在您的項目DOTNET發佈
主人公佈的IIS應用程序。在應用程序池中,.NET CLR版本設置爲「無託管代碼」是非常重要的。
有關於如何將應用程序發佈到iis的更詳細的文章。
https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
我沒有找到一個方法來直接從Visual Studio做2017年
更新: 你可以使用FlubuCore工具(C#流利的製造商)做第3步和第4爲你自動。你不得不寫flubu腳本,將是這個樣子(例如只對第4步):
protected override void ConfigureTargets(ITaskContext session)
{
session.CreateTarget("iis.install").Do(IisInstall);
}
private static void IisInstall(ITaskContext context)
{
context.Tasks().IisTasks()
.CreateAppPoolTask("SomeAppPoolName")
.ManagedRuntimeVersion("No Managed Code")
.Mode(CreateApplicationPoolMode.DoNothingIfExists)
.Execute(context);
context.Tasks().IisTasks()
.CreateWebsiteTask()
.WebsiteName("SomeWebSiteName")
.BindingProtocol("Http")
.Port(2000)
.PhysicalPath("SomePhysicalPath")
.ApplicationPoolName("SomeAppPoolName")
.WebsiteMode(CreateWebApplicationMode.DoNothingIfExists)
.Execute(context);
}
然後將它與Visual Studio 2017年運行此腳本flubu DOTNET CLI工具在預生成或整合後綴命令'dotnet flubu iis.install'。我寧願明確地從命令行運行該工具。
您可以找到有關flubu以及如何更多的信息,這裏介紹: Choice for build tool: MSBuild, NANT or something else?
.NET核心不支持IIS在2017年RTM。您可以直接使用IIS Express或Kestrel。對IIS的.NET核心支持是我們正在考慮將來更新到2017年。 –
@ AndrewHall-MSFT您的意思是,如果我使用VS2017構建ASP.Net CORE網站,我將無法託管它在IIS後面就像我在做VS2015(通過Publish ...)?這基本上意味着我們今天還不能發佈基於VS2017的ASP.Net CORE用於生產?另外,這是否意味着我不應該更新我的nuget,如Microsoft.AspNetCore.Server.Kestrel包在VS2015下從1.1.0到1.1.1,如果我需要保持在IIS後面託管?謝謝。 – Daboul
.NET Core絕對支持IIS。 Andrew的意思是,ASP.NET Core的Visual Studio工具尚不支持使用IIS進行開發的項目。對於使用Visual Studio進行開發,您的主要選項是IIS Express或Kestrel。 –