here에서 "프레임 워크 종속 배포"및 "자체 포함 배포"의 두 가지 배포 유형이 있습니다.dotnet 프레임 워크로 asp.net 코어 "프레임 워크 종속 배포"
그러나 net451에서 "Framework-dependent deployment"를 얻는 방법은 설명하지 않았습니다.
net451에서 "프레임 워크 종속 배포"를 어떻게 얻을 수 있습니까?
{
"webroot": "wwwroot",
"userSecretsId": "aspnet-AdsProject-110defb3-febe-4379-a8a3-0a8b20607a27",
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
"Microsoft.EntityFrameworkCore.SqlServer.Design": {
"version": "1.0.1",
"type": "build"
},
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0",
"Microsoft.Extensions.Caching.Memory": "1.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "1.0.0",
"StackExchange.Redis": "1.1.605",
"Dapper": "1.50.2",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Routing.Abstractions": "1.0.1",
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
"Abot": "1.5.1.50"
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
}
},
"frameworks": {
"net451": {
"frameworkAssemblies": {
"System.Runtime.Serialization": "4.0.0.0",
"System.ServiceModel": "4.0.0.0"
}
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"config.json",
"config.Development.json",
"web.config"
],
"exclude": [
"node_modules",
"bower_components",
"SqlScripts",
"PrivateJs",
"**.xproj",
"**.user",
"**.vspscc"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle", "npm install" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
프로젝트를 게시 할 때 dotnet은 .exe 파일도 생성합니다. 기사에서 말한 것처럼 .exe 파일은 SCD 모드로 생성됩니다. "SCD에는 실행 파일 (예 : app이라는 Windows 플랫폼의 app.exe)이 포함되어 있습니다."및 "FDD에는 명령 줄에서 dotnet 유틸리티를 사용하여 시작할 수있는 .dll 파일이 들어 있습니다." –
원하지 않습니다. exe 파일. 프로젝트를 게시 할 때마다 프로덕션에서 응용 프로그램을 중지해야합니다. –
.exe는 .NET Framework와 관련이 없으므로 대상 프레임 워크가 .NET Framework이므로 생성됩니다. 따라서 "old type"독립 실행 형 응용 프로그램 (https://blogs.msdn.microsoft.com/)을 읽으십시오. cesardelatorre/2016/06/28/running-net-core-apps-on-multiple-frameworks 및 target-framework-monikers-tfms-about-about/"게시 중 중지"와 관련하여 어셈블리를 변경하면 프로세스를 다시 시작해야합니다 ... 어쩌면 dotnet-watch를 사용하는 것일 수도 있지만 소스 코드의 변경 사항이 감지되면 지정된 응용 프로그램을 다시 시작합니다. – Set