2017-03-07 92 views
4

在Visual Studio 2015中,您可以通過右鍵單擊項目&去屬性,輕鬆設置MVC應用程序以使用完整的IIS。在Visual Studio 2017中設置.NET Core MVC應用程序以使用完整的IIS(不是IIS Express)

它是如何做到這一點的香草.NET核心Web在Visual Studio(MVC)項目目前尚不清楚2017年

我能找到任何關於這對谷歌 - 我在找錯了地方?

+2

.NET核心不支持IIS在2017年RTM。您可以直接使用IIS Express或Kestrel。對IIS的.NET核心支持是我們正在考慮將來更新到2017年。 –

+0

@ 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

+0

.NET Core絕對支持IIS。 Andrew的意思是,ASP.NET Core的Visual Studio工具尚不支持使用IIS進行開發的項目。對於使用Visual Studio進行開發,您的主要選項是IIS Express或Kestrel。 –

回答

4

您可以將其託管在iis後面。

有basicly你必須做四件事情除了具有offcourse安裝IIS:

  1. 安裝.NET核心Windows服務器託管束。它可以在這裏找到 https://go.microsoft.com/fwlink/?linkid=837808

  2. 在應用程序依賴關係中包含對Microsoft.AspNetCore.Server.IISIntegration包的依賴關係。通過將.UseIISIntegration()擴展方法添加到WebHostBuilder()中,將IIS集成中間件整合到應用程序中。

  3. 打開cmd並運行在您的項目DOTNET發佈

  4. 主人公佈的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?

+0

謝謝。我猜這在未來幾年可能會變得更加容易,因爲新的VS&Windows Server版本發佈了!!.. – niico

+0

謝謝,第一條評論讓我害怕! – Daboul

相關問題