Visual Studio 2015では、プロジェクトを右クリックしてプロパティに移動することで、完全なIISを使用するようにMVCアプリを簡単に設定できます。
Visual Studio2017のバニラ.NETCore Web(MVC)プロジェクトでこれを行う方法は明確ではありません。
私はグーグルでこれについて何も見つけることができません-私は間違った場所を探していますか?
iisの背後でホストできます。
iisをオフコースにインストールする以外に、基本的に4つのことを行う必要があります。
.NET Core WindowsServerホスティングバンドルをインストールします。ここで見つけることができますhttps://go.microsoft.com/fwlink/?linkid=837808
Microsoft.AspNetCore.Server.IISIntegrationパッケージへの依存関係をアプリケーションの依存関係に含めます。.UseIISIntegration()拡張メソッドをWebHostBuilder()に追加して、IIS統合ミドルウェアをアプリケーションに組み込みます。
cmdを開き、プロジェクトでdotnetpublishを実行します
iisで公開されたアプリケーションをホストします。アプリケーションプールで、.NETCLRバージョンを「マネージコードなし」に設定することが重要です。
アプリケーションをiisに公開する方法に関するより詳細な記事があります。
https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
Visual Studio2017から直接それを行う方法が見つかりませんでした。
更新: FlubuCoreツール(C#fluent builder)を使用して、手順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と統合するには、コマンド「dotnet flubu iis.install」を使用して、ビルド前またはビルド後のイベントでflubu dotnetcliツールを使用してこのスクリプトを実行します。コマンドラインから明示的にツールを実行したいです。
flubuの詳細と開始方法については、こちらをご覧ください:ビルドツールの選択:MSBuild、NANT、またはその他?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加