Aspnetcore: asp.net core 2.0μ—μ„œ μ‘μš© ν”„λ‘œκ·Έλž¨ 톡찰λ ₯을 λΉ„ν™œμ„±ν™”ν•˜λŠ” 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

에 λ§Œλ“  2017λ…„ 06μ›” 08일  Β·  85μ½”λ©˜νŠΈ  Β·  좜처: dotnet/aspnetcore

asp.net core 2.0 μŠ€νƒμ— μ΅μˆ™ν•΄μ§€λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. μƒˆ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€μ—ˆμœΌλ©° λͺ¨λ“  μš”μ²­μ΄ μžˆμ„ λ•Œλ§ˆλ‹€ 디버그 μ°½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μΈμ‚¬μ΄νŠΈμ˜ 좜λ ₯을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 이것은 λ‚΄ μžμ‹ μ˜ ν•™μŠ΅μ„ μœ„ν•œ κ²ƒμ΄λ―€λ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨ 톡찰λ ₯을 μ‚¬μš©ν•˜κ³  싢지 μ•ŠμœΌλ©° 디버그 창을 μ–΄μ§€λŸ½νžˆλŠ” 것을 μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ 찾은 λŒ€λΆ€λΆ„μ˜ 쑰언은 λ„ˆκ²Ÿ νŒ¨ν‚€μ§€λ₯Ό μ œκ±°ν•˜λΌκ³  λ§ν•˜μ§€λ§Œ AIλŠ” λ„ˆκ²Ÿμ„ 톡해 μ„€μΉ˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ„€μΉ˜λœ μœ μΌν•œ nuget νŒ¨ν‚€μ§€λŠ” Microsoft.AspNetCore 및 Microsoft.NETCore.App 이며 λ‘˜ λ‹€ AI에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 더 λ‚˜μ•„κ°€ λ‚΄ μ„œλΉ„μŠ€λ‚˜ μ•± λΉŒλ”μ—μ„œ AI에 λŒ€ν•œ μ°Έμ‘°λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. ꡬ성 κ°œμ²΄κ°€ μ—†κ³  nuget νŒ¨ν‚€μ§€κ°€ μ—†κΈ° λ•Œλ¬Έμ— AIκ°€ λ‚΄ ν”„λ‘œμ νŠΈμ— μ „ν˜€ 없을 κ²ƒμœΌλ‘œ μ˜ˆμƒν•˜μ§€λ§Œ μ—¬μ „νžˆ 무언가λ₯Ό κΈ°λ‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ°„λ‹¨νžˆ λ§ν•΄μ„œ AIλŠ” λ‚΄ ν”„λ‘œμ νŠΈμ˜ 일뢀가 μ•„λ‹Œ κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ 디버그 창에 λ‘œκΉ…ν•©λ‹ˆλ‹€. 이것을 λΉ„ν™œμ„±ν™”ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” AIλ₯Ό μ „ν˜€ μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.

+1

λͺ¨λ“  85 λŒ“κΈ€

@BillHiebert

μΆ”κ°€ 쑰사 ν›„ VS μ™ΈλΆ€μ—μ„œ 디버깅(vscode μ‚¬μš© λ˜λŠ” λͺ…λ Ήμ€„μ—μ„œ μ‹€ν–‰)이 μ΄λŸ¬ν•œ λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— Visual Studio에 μ—°κ²°λœ κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. λͺ¨λ“  μ‚¬λžŒμ΄ 같은 νŽ˜μ΄μ§€μ— μžˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ λ‹€μŒμ€ ν•œ 번의 HTTP μš”μ²­ ν›„ VS의 디버그 μ°½μ—μ„œ κ΄€μ°°ν•œ 좜λ ₯μž…λ‹ˆλ‹€.

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:62731/  
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 DEBUG http://localhost:62731/  0
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.3967075Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request starting HTTP/1.1 GET http://localhost:62731/","severityLevel":"Information","properties":{"Method":"GET","Host":"localhost:62731","CategoryName":"Microsoft.AspNetCore.Hosting.Internal.WebHost","Scheme":"http","Protocol":"HTTP/1.1","Path":"/","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.3967004Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"DEBUG /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df49","ai.operation.parentId":"|WC1843-a3501fd0-ac63df49.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request starting HTTP/1.1 DEBUG http://localhost:62731/  0","severityLevel":"Information","properties":{"ContentLength":"0","Method":"DEBUG","Host":"localhost:62731","CategoryName":"Microsoft.AspNetCore.Hosting.Internal.WebHost","Scheme":"http","Protocol":"HTTP/1.1","Path":"/","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.4617268Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"DEBUG /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df49","ai.operation.parentId":"|WC1843-a3501fd0-ac63df49.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAF9\" completed keep alive response.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAF9","{OriginalFormat}":"Connection id \"{ConnectionId}\" completed keep alive response.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 129.444ms 200 
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.4703409Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"DEBUG /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df49","ai.operation.parentId":"|WC1843-a3501fd0-ac63df49.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request finished in 129.444ms 200","severityLevel":"Information","properties":{"CategoryName":"Microsoft.AspNetCore.Hosting.Internal.WebHost","StatusCode":"200","ElapsedMilliseconds":"129.444","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.4763186Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"The request path / does not match a supported file type","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware","{OriginalFormat}":"The request path {Path} does not match a supported file type","Path":"/","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2017-06-13T13:36:48.3336865Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"DEBUG /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df49","ai.internal.nodeName":"WC1843"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"|WC1843-a3501fd0-ac63df49.","name":"DEBUG /","duration":"00:00:00.1564017","success":true,"responseCode":"200","url":"http://localhost:62731/","properties":{"httpMethod":"DEBUG","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.5106855Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"AuthenticationScheme: Cookies was not authenticated.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler","AuthenticationScheme":"Cookies","{OriginalFormat}":"AuthenticationScheme: {AuthenticationScheme} was not authenticated.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.6199493Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET /","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request successfully matched the route with name 'default' and template '{controller=Home}/{action=Index}/{id?}'.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Routing.RouteBase","{OriginalFormat}":"Request successfully matched the route with name '{RouteName}' and template '{RouteTemplate}'.","RouteName":"default","DeveloperMode":"true","AspNetCoreEnvironment":"Development","RouteTemplate":"{controller=Home}/{action=Index}/{id?}"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.7240547Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Executing action Iceberg.Controllers.HomeController.Index (Iceberg)","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker","{OriginalFormat}":"Executing action {ActionName}","DeveloperMode":"true","AspNetCoreEnvironment":"Development","ActionName":"Iceberg.Controllers.HomeController.Index (Iceberg)"}}}}
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Executing action method Iceberg.Controllers.HomeController.Index (Iceberg) with arguments ((null)) - ModelState is Valid
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.7732242Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Executing action method Iceberg.Controllers.HomeController.Index (Iceberg) with arguments ((null)) - ModelState is Valid","severityLevel":"Information","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker","ValidationState":"Valid","{OriginalFormat}":"Executing action method {ActionName} with arguments ({Arguments}) - ModelState is {ValidationState}","DeveloperMode":"true","AspNetCoreEnvironment":"Development","ActionName":"Iceberg.Controllers.HomeController.Index (Iceberg)"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:48.7771150Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Executed action method Iceberg.Controllers.HomeController.Index (Iceberg), returned result Microsoft.AspNetCore.Mvc.ViewResult.","severityLevel":"Verbose","properties":{"ActionResult":"Microsoft.AspNetCore.Mvc.ViewResult","CategoryName":"Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker","{OriginalFormat}":"Executed action method {ActionName}, returned result {ActionResult}.","DeveloperMode":"true","AspNetCoreEnvironment":"Development","ActionName":"Iceberg.Controllers.HomeController.Index (Iceberg)"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:49.6276940Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Home\\PublicIndex.cshtml' started.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Home\\PublicIndex.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' started.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:50.8462465Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Home\\PublicIndex.cshtml' completed in 1212.6438ms.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Home\\PublicIndex.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","ElapsedMilliseconds":"1212.6438","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' completed in {ElapsedMilliseconds}ms.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:50.9127370Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\_ViewStart.cshtml' started.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\_ViewStart.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' started.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:50.9679478Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\_ViewStart.cshtml' completed in 52.5297ms.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\_ViewStart.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","ElapsedMilliseconds":"52.5297","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' completed in {ElapsedMilliseconds}ms.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:50.9763616Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"The view '/Views/Home/PublicIndex.cshtml' was found.","severityLevel":"Verbose","properties":{"ViewName":"/Views/Home/PublicIndex.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor","{OriginalFormat}":"The view '{ViewName}' was found.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor:Information: Executing ViewResult, running view at path /Views/Home/PublicIndex.cshtml.
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:50.9830038Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Executing ViewResult, running view at path /Views/Home/PublicIndex.cshtml.","severityLevel":"Information","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor","{OriginalFormat}":"Executing ViewResult, running view at path {Path}.","Path":"/Views/Home/PublicIndex.cshtml","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.0334094Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"View lookup cache miss for view '_Layout' in controller 'Home'.","severityLevel":"Verbose","properties":{"ControllerName":"Home","ViewName":"_Layout","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine","{OriginalFormat}":"View lookup cache miss for view '{ViewName}' in controller '{ControllerName}'.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.1260378Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Shared\\_Layout.cshtml' started.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Shared\\_Layout.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' started.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.2825633Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Compilation of the generated code for the Razor file at 'C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Shared\\_Layout.cshtml' completed in 154.0786ms.","severityLevel":"Verbose","properties":{"FilePath":"C:\\Users\\jpiquette\\Source\\Iceberg\\Views\\Shared\\_Layout.cshtml","CategoryName":"Microsoft.AspNetCore.Mvc.Razor.Internal.DefaultRoslynCompilationService","ElapsedMilliseconds":"154.0786","{OriginalFormat}":"Compilation of the generated code for the Razor file at '{FilePath}' completed in {ElapsedMilliseconds}ms.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3027823Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Tag helper component 'Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent' initialized.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper","ComponentName":"Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent","{OriginalFormat}":"Tag helper component '{ComponentName}' initialized.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3074495Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Tag helper component 'Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent' processed.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper","ComponentName":"Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent","{OriginalFormat}":"Tag helper component '{ComponentName}' processed.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3281429Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Tag helper component 'Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent' initialized.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper","ComponentName":"Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent","{OriginalFormat}":"Tag helper component '{ComponentName}' initialized.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3305192Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Tag helper component 'Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent' processed.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper","ComponentName":"Microsoft.AspNetCore.ApplicationInsights.HostingStartup.JavaScriptSnippetTagHelperComponent","{OriginalFormat}":"Tag helper component '{ComponentName}' processed.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Executed action Iceberg.Controllers.HomeController.Index (Iceberg) in 2641.6233ms
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3708883Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Executed action Iceberg.Controllers.HomeController.Index (Iceberg) in 2641.6233ms","severityLevel":"Information","properties":{"CategoryName":"Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker","ElapsedMilliseconds":"2641.6233","{OriginalFormat}":"Executed action {ActionName} in {ElapsedMilliseconds}ms","DeveloperMode":"true","AspNetCoreEnvironment":"Development","ActionName":"Iceberg.Controllers.HomeController.Index (Iceberg)"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3761765Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAFA\" completed keep alive response.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAFA","{OriginalFormat}":"Connection id \"{ConnectionId}\" completed keep alive response.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 3042.2608ms 200 text/html; charset=utf-8
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:36:51.3822633Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.operation.parentId":"|WC1843-a3501fd0-ac63df48.","ai.internal.nodeName":"WC1843"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request finished in 3042.2608ms 200 text/html; charset=utf-8","severityLevel":"Information","properties":{"CategoryName":"Microsoft.AspNetCore.Hosting.Internal.WebHost","StatusCode":"200","ElapsedMilliseconds":"3042.2608","DeveloperMode":"true","AspNetCoreEnvironment":"Development","ContentType":"text/html; charset=utf-8"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2017-06-13T13:36:48.3336865Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.location.ip":"127.0.0.1","ai.application.ver":"1.0.0.0","ai.operation.name":"GET Home/Index","ai.cloud.roleInstance":"WC1843","ai.operation.id":"WC1843-a3501fd0-ac63df48","ai.internal.nodeName":"WC1843"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"|WC1843-a3501fd0-ac63df48.","name":"GET Home/Index","duration":"00:00:03.0633276","success":true,"responseCode":"200","url":"http://localhost:62731/","properties":{"httpMethod":"GET","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2082350Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAF9\" received FIN.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv","ConnectionId":"0HL5IC4UQLAF9","{OriginalFormat}":"Connection id \"{ConnectionId}\" received FIN.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2082350Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAFA\" received FIN.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv","ConnectionId":"0HL5IC4UQLAFA","{OriginalFormat}":"Connection id \"{ConnectionId}\" received FIN.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2340466Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAFA\" disconnecting.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAFA","{OriginalFormat}":"Connection id \"{ConnectionId}\" disconnecting.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2340466Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAF9\" disconnecting.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAF9","{OriginalFormat}":"Connection id \"{ConnectionId}\" disconnecting.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2599763Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAFA\" stopped.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAFA","{OriginalFormat}":"Connection id \"{ConnectionId}\" stopped.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-06-13T13:38:38.2599763Z","tags":{"ai.internal.sdkVersion":"aspnet5c:2.1.0-beta3","ai.application.ver":"1.0.0.0"},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Connection id \"0HL5IC4UQLAF9\" stopped.","severityLevel":"Verbose","properties":{"CategoryName":"Microsoft.AspNetCore.Server.Kestrel","ConnectionId":"0HL5IC4UQLAF9","{OriginalFormat}":"Connection id \"{ConnectionId}\" stopped.","DeveloperMode":"true","AspNetCoreEnvironment":"Development"}}}}

λ™μ˜ν•©λ‹ˆλ‹€. EF ν•­λͺ©(λ§Žμ€ ν•­λͺ©μ„ 기둝함)을 λ””λ²„κ·Έν•˜λ €κ³  ν•  λ•Œλ§ˆλ‹€ μ‹€μ œλ‘œ VSκ°€ μ€‘λ‹¨λ©λ‹ˆλ‹€.

μ—¬κΈ°μ„œλ„ 같은 λ¬Έμ œμž…λ‹ˆλ‹€. λˆ„μˆ˜κ°€ μ—†λŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ λ©”λͺ¨λ¦¬ ν”„λ‘œνŒŒμΌλ§μ„ μˆ˜ν–‰ν•˜κ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μΈμ‚¬μ΄νŠΈ ConcurrentDictionary+Node<String, String> 에 λ§Žμ€ ν•­λͺ©μ΄ μΆ”κ°€λ˜κ³  μžˆμŒμ„ ν™•μΈν•©λ‹ˆλ‹€.

λ‚΄κ°€ μ•„λŠ” ν•œ μ‹€ν–‰ 쀑인 톡찰λ ₯이 μ „ν˜€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€(NuGet νŒ¨ν‚€μ§€κ°€ μΆ”κ°€λ˜μ§€ μ•ŠμŒ).

Trcx528κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ λ‹€μŒ 행을 따라 디버그 μ½˜μ†”μ— 좜λ ₯이 ν‘œμ‹œλ©λ‹ˆλ‹€.
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-07-26T22:02:13.2372631Z","tags":{"ai.operation.id":"95b3c749-......

μ–΄λ–»κ²Œ λΉ„ν™œμ„±ν™”ν•©λ‹ˆκΉŒ?

같은 문제, 무엇이든 ν•˜λŠ” 것은 μ˜μ›νžˆ κ±Έλ¦½λ‹ˆλ‹€...

ApplicationInsightsκ°€ λ™μ μœΌλ‘œ μ£Όμž…λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이것을 λΉ„ν™œμ„±ν™”ν•˜λŠ” ν•œ 가지 방법은 ν”„λ‘œμ νŠΈ μ‹œμž‘ μ„€μ •μ—μ„œ ν™˜κ²½ λ³€μˆ˜ ASPNETCORE_preventHostingStartup을 "true"둜 μ„€μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

https://github.com/aspnet/Hosting/commit/8377d226f1e6e1a97dabdb6769a845eeccc829ed μ°Έμ‘°

@Tratcher 더 μžμ„Ένžˆ μ•Œλ €μ£Όμ‹€ 수 μžˆλ‚˜μš”? μ—°κ²°λœ μ»€λ°‹μ—μ„œ launchSettings.json νŒŒμΌμ„ μˆ˜μ •ν•˜λŠ” 방법을 μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€.

기본적으둜 켜져 μžˆλŠ” μ΄μœ κ°€ μžˆμŠ΅λ‹ˆκΉŒ? μ‚¬μš© 정보λ₯Ό μˆ˜μ§‘ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

Visual Studio 2017μ—λŠ” asp.net의 κ°•λ ₯ν•œ μ’…μ†μ„±μœΌλ‘œ μ„€μΉ˜λœ "개발자 뢄석 도ꡬ" ν™•μž₯이 μžˆμŠ΅λ‹ˆλ‹€. 제거λ₯Ό μ‹œλ„ν•˜λ©΄ μ›Ή 개발 및 dotnet 핡심 도ꡬ도 μ œκ±°λ©λ‹ˆλ‹€(omg). 이 ν™•μž₯을 λΉ„ν™œμ„±ν™”ν–ˆμŠ΅λ‹ˆλ‹€. 아무 νš¨κ³Όκ°€ μ—†μŠ΅λ‹ˆλ‹€. 기본적으둜 μ§œμ¦λ‚˜λŠ” 디버그 λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€(arg).

Microsoft.AspNetCore.All 메타 λ„ˆκ²Ÿ νŒ¨ν‚€μ§€λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μΈμ‚¬μ΄νŠΈ νŒ¨ν‚€μ§€μ— μ’…μ†λ˜λ―€λ‘œ 기본적으둜(arg) μ„€μΉ˜λ©λ‹ˆλ‹€. νŠΉμ • RIDλ₯Ό μ‚¬μš©ν•˜μ—¬ 앱을 κ²Œμ‹œν•˜λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μΈμ‚¬μ΄νŠΈ dll도 λ³΅μ‚¬λ©λ‹ˆλ‹€.

λ³΅μž‘ν•˜κ³  λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ μ˜΅νŠΈμ•„μ›ƒ 방법은 @Tratcher 에 μ˜ν•΄ μ˜¬λ°”λ₯΄κ²Œ μ œκ³΅λ©λ‹ˆλ‹€. VSμ—μ„œ μ›Ή ν”„λ‘œμ νŠΈμ—μ„œ 속성 > launchSettings.json 을 μ—΄κ³  λ³€κ²½ν•˜λ €λŠ” ν”„λ‘œν•„μ„ 찾은 λ‹€μŒ environmentVariables λ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€. . λ‚΄ ν”„λ‘œμ νŠΈμ˜ μ˜ˆλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_preventHostingStartup": "True"
      },

λ˜λŠ” μ›Ή ν”„λ‘œμ νŠΈ > 속성 > 디버그λ₯Ό 마우슀 였λ₯Έμͺ½ λ²„νŠΌμœΌλ‘œ ν΄λ¦­ν•˜κ³  거기에 μ‹ λΉ„ν•œ ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλ₯΄λ₯΄. 이것은 옡트인 λ˜λŠ” κ°„λ‹¨ν•œ μ˜΅νŠΈμ•„μ›ƒμ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€!

감사 ν•΄μš”! κ΅¬μ„±λ˜μ§€ μ•Šμ€ 둜거 λ•Œλ¬Έμ— 이것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

MS의 λˆ„κ΅°κ°€κ°€ @nzain 의 ν•΄κ²° 방법이 Application Insightsλ₯Ό λΉ„ν™œμ„±ν™”ν•˜κ±°λ‚˜ 둜그λ₯Ό μˆ¨κΈ°λŠ”μ§€ 확인해 μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” AIλ₯Ό μ „ν˜€ μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.

λ‚˜λŠ” AIλ₯Ό μ „ν˜€ μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.

+1

λ‚˜λŠ” AIλ₯Ό μ „ν˜€ μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.

+1

@Trcx528 제λͺ©μ„ λ‹€μŒμœΌλ‘œ λ³€κ²½ν•˜λŠ” 것을 κ³ λ €ν•˜μ‹­μ‹œμ˜€.

"ASP.NET Core 2.0 ~미리보기~ μ—μ„œ Application Insightsλ₯Ό 제거 ν•˜λŠ” 방법"

...κ·Έλž˜μ„œ 더 μ£Όλͺ©λ°›λ‚˜μš”? 이 λ¬Έμ œλŠ” μ—¬μ „νžˆ μš°λ¦¬μ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. 제λͺ©μ— "미리보기"κ°€ μžˆλŠ” 경우 μ΅œμ’… 버전이 μ΅œκ·Όμ— μΆœμ‹œλ˜μ—ˆκΈ° λ•Œλ¬Έμ— λ¬΄μ‹œλ  수 μžˆμŠ΅λ‹ˆλ‹€.

그리고 κ²Œμ‹œλ¬Όμ— λŒ€ν•΄ κ°μ‚¬ν•˜κ³  우리 λͺ¨λ‘μ—κ²Œ κ²½κ³ ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ‚˜λŠ” AIλ₯Ό μ „ν˜€ μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.
+1

λ™μ˜ν•©λ‹ˆλ‹€. 이것은 정말 μ΄μƒν•œ ν–‰λ™μž…λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈμ—μ„œ μ°Έμ‘°ν•  ν•„μš”λ„ 없이 Azureλ₯Ό 톡해 Application Insightsλ₯Ό "ν™œμ„±ν™”"ν•  수 μžˆλ‹€λŠ” 것은 쒋은 μΌμ΄μ§€λ§Œ 이것이 μˆ˜ν–‰λ˜λŠ” 방식이라면 ν”„λ ˆμž„μ›Œν¬ κ΄€μ μ—μ„œ λΉ„μš©μ΄ λ„ˆλ¬΄ λ†’λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

VSμ—μ„œ μ‹€ν–‰ν•  λ•Œ AI μ£Όμž…μ„ λΉ„ν™œμ„±ν™”ν•˜λŠ” 일뢀 UIλ₯Ό μΆ”κ°€ν•  κ²ƒμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” μ²˜μŒμ— 그것을 μΆ”κ°€ν–ˆμ–΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€(그것은 μ‹€μˆ˜μ˜€μŠ΅λ‹ˆλ‹€).

@Tratcher κ°€ μ œμ•ˆν•œ ν•΄κ²° 방법은 잘 μž‘λ™ν•˜μ§€λ§Œ μ‘°λͺ… κΈ°λŠ₯을 μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν•˜μ—¬ 톡찰λ ₯ μ΄μƒμ˜ 영ν–₯을 λ―ΈμΉ  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ASP.NET Core IIS λͺ¨λ“ˆμ€ https://github.com/aspnet/AspNetCoreModule/blob/002c8b9bc9a86cd3b4308e62c1f70ea625cbaae2/src/AspNetCore/Inc/serverprocess ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•  λ•Œ IISIntegration νŒ¨ν‚€μ§€λ₯Ό μΌ­λ‹ˆλ‹€.

@davidfowl κ°μ‚¬ν•©λ‹ˆλ‹€. μ§€κΈˆμ€ ν•΄κ²° 방법을 κ·ΈλŒ€λ‘œ λ‘κ² μ§€λ§Œ 이 μƒˆλ‘œμš΄ UIκ°€ VS에 μΆ”κ°€λ˜λ©΄ 릴리슀 μ •λ³΄μ—μ„œ 이 ν™˜κ²½ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžμ—κ²Œ 잠재적 κ°€λŠ₯성을 ν”Όν•˜κΈ° μœ„ν•΄ 섀정을 ν•΄μ œν•΄μ•Ό ν•œλ‹€κ³  κ²½κ³ ν•˜λ©΄ 정말 쒋을 κ²ƒμž…λ‹ˆλ‹€. 문제λ₯Ό ν•΄κ²°ν•˜κ³  μƒˆλ‘œμš΄ UI κΈ°λŠ₯을 μ‚¬μš©ν•˜μ„Έμš”. λ‹€μ‹œ ν•œλ²ˆ κ°μ‚¬ν•©λ‹ˆλ‹€!

@davidfowl 이것이 곧 μ˜΅νŠΈμ•„μ›ƒμ΄ μ•„λ‹Œ 옡트인이 될 κ²ƒμž„μ„ μ•Œλ €μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! κ·ΈλŸ¬λ‚˜, 당신은 이것을 μœ„ν•œ UIκ°€ μžˆμ„ 것이라고 μ–ΈκΈ‰ν–ˆμŠ΅λ‹ˆλ‹€ - λ‚˜λŠ” 당신이 μ˜λ―Έν•˜λŠ” λ°”λ₯Ό μ΄ν•΄ν•˜μ§€ λͺ»ν•˜μ§€λ§Œ 우리 쀑 λ§Žμ€ μ‚¬λžŒλ“€μ΄ VSμ—μ„œ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점을 κ³ λ €ν•˜μ‹­μ‹œμ˜€. λ”°λΌμ„œ VS / UI 없이 λΉ„ν™œμ„±ν™”ν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€ .

λ˜ν•œ @nzain 의 ν•΄κ²° 방법이 Application Insightsλ₯Ό λΉ„ν™œμ„±ν™”ν•˜λŠ”μ§€ μ•„λ‹ˆλ©΄ 둜그λ₯Ό μˆ¨κΈ°λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

@grokky1 μ •ν™•νžˆ 무엇을 λ§μ”€ν•˜μ‹œλŠ” κ±΄κ°€μš”? 기본적으둜 켜져 μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. Visual StudioλŠ” κΈ°λŠ₯을 켜기 μœ„ν•΄ ν™˜κ²½ λ³€μˆ˜λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œμ΄ μž‘λ™ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€...

@davidfowl 기본적으둜 켜져 μžˆμ§€ μ•Šλ‹€λ©΄ μ™œ 우리 쀑 λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ‘œκ·Έμ—μ„œ 그것을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ? κ·Έλž˜μ„œ μš°λ¦¬λŠ” 이 μŠ€λ ˆλ“œλ₯Ό μ²˜μŒλΆ€ν„° μ°Ύμ•˜μŠ΅λ‹ˆλ‹€...

ν•˜μ§€λ§Œ λ‹Ήμ‹  말이 λ§žμ•„μš” λ‚˜λŠ” 그것이 μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 단지 νŽΈμ•ˆν•¨μ„ 원할 λΏμž…λ‹ˆλ‹€. λ‚˜λŠ” μ„ νƒν•˜μ§€ μ•ŠλŠ” ν•œ 그것을 μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

@davidfowl 기본적으둜 켜져 μžˆμ§€ μ•Šλ‹€λ©΄ μ™œ 우리 쀑 λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ‘œκ·Έμ—μ„œ 그것을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ? κ·Έλž˜μ„œ μš°λ¦¬λŠ” 이 μŠ€λ ˆλ“œλ₯Ό μ²˜μŒλΆ€ν„° μ°Ύμ•˜μŠ΅λ‹ˆλ‹€...

무슨 둜그? Visual Studio λ˜λŠ” λ‹€λ₯Έ κ³³μ—μ„œ?

ν•˜μ§€λ§Œ λ‹Ήμ‹  말이 λ§žμ•„μš” λ‚˜λŠ” 그것이 μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 단지 νŽΈμ•ˆν•¨μ„ 원할 λΏμž…λ‹ˆλ‹€. λ‚˜λŠ” μ„ νƒν•˜μ§€ μ•ŠλŠ” ν•œ 그것을 μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

문제 μ—†μŠ΅λ‹ˆλ‹€. 그게 μ œκ°€ μ—¬κΈ° 온 μ΄μœ μž…λ‹ˆλ‹€ 😝 .

@davidfowl 예λ₯Ό λ“€μ–΄ μœ„μ˜ @Trcx528 및 @simonmurdock (λ‚΄κ°€ 이것을 λ°œκ²¬ν•œ 방법이기도 함)에 μ˜ν•΄ ν‘œμ‹œλœ 디버그 λ‘œκ·Έμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μš°λ¦¬λŠ” μ§€κΈˆμœΌλ‘œμ„œλŠ” 당신이 μ–ΈκΈ‰ν•œ λ³€κ²½ μ‚¬ν•­κΉŒμ§€ @nzain 의 ν•΄κ²° 방법이 그것을 μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν•˜κ±°λ‚˜ ν•΄λ‹Ή 둜그λ₯Ό 숨길 수 μžˆλŠ”μ§€ μ•Œκ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

@davidfowl 예λ₯Ό λ“€μ–΄ μœ„μ˜ @Trcx528 및 @simonmurdock에 μ˜ν•΄ ν‘œμ‹œλœ 디버그 λ‘œκ·Έμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μš°λ¦¬λŠ” ν˜„μž¬λ‘œμ„œλŠ” μ–ΈκΈ‰ν•œ λ³€κ²½ 사항이 μžˆμ„ λ•ŒκΉŒμ§€ @nzain 의 ν•΄κ²° 방법이 이λ₯Ό μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν–ˆλŠ”μ§€ μ•„λ‹ˆλ©΄ ν•΄λ‹Ή 둜그λ₯Ό μˆ¨κ²ΌλŠ”μ§€ μ•Œκ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

μ•žμ—μ„œ μ–ΈκΈ‰ν•œ κ²ƒμ²˜λŸΌ Visual Studio 좜λ ₯μž…λ‹ˆλ‹€. μ΄λŠ” ASP.NET Core μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  λ•Œλ§Œ λ°œμƒν•˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€.

@davidfowl Aaah 이제 무슨 말인지 μ•Œκ² μ–΄μš”. πŸ˜„ 저도 λŸ°νƒ€μž„ 문제라 κ±±μ •ν–ˆλŠ”λ°. 확인 κ°μ‚¬ν•©λ‹ˆλ‹€. λ˜ν•œ μ–ΈκΈ‰ν•œ λŒ€λ‘œ VS의 옡트인/아웃 변경을 κΈ°λŒ€ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @davidfowl - μ €λŠ” VS15.4.0(미리 보기 1)을 μ‹€ν–‰ 쀑이며 App Insightsκ°€ 기본적으둜 μˆ˜μ§‘λ˜μ–΄ ASP.NET Core 앱에 μ—°κ²°λ˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? 아무데도 λ³΄λ‚΄μ§€λŠ” μ•Šμ§€λ§Œ 거기에 μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @davidfowl - μ €λŠ” VS15.4.0(미리 보기 1)을 μ‹€ν–‰ 쀑이며 App Insightsκ°€ 기본적으둜 μˆ˜μ§‘λ˜μ–΄ ASP.NET Core 앱에 μ—°κ²°λ˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? 아무데도 λ³΄λ‚΄μ§€λŠ” μ•Šμ§€λ§Œ 거기에 μžˆμŠ΅λ‹ˆλ‹€.

λ§žμŠ΅λ‹ˆλ‹€. 기본적으둜 Visual Studio μ—μ„œ 뢈이 λ“€μ–΄μ˜€κ³  끄기 μŠ€μœ„μΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€. λͺ¨λ“  λΆˆμ„ 끌 수 μžˆμ§€λ§Œ 그것은 큰 λ§μΉ˜μž…λ‹ˆλ‹€. κ·Έλž˜λ„ ν˜„μž¬ λ‘œμ„œλŠ” ν•΄κ²° 방법 μž…λ‹ˆλ‹€.

μ΄μ „μ—λŠ” Program.cs에 AIλ₯Ό 포함(λ˜λŠ” ν¬ν•¨ν•˜μ§€ μ•ŠμŒ)ν•˜λŠ” μ˜΅μ…˜μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ λΉ„μŠ·ν•œ 것을 λ§Œλ“€ 수 μ—†λŠ” μ΄μœ κ°€ λ¬΄μ—‡μž…λ‹ˆκΉŒ?

μ΄μ „μ—λŠ” Program.cs에 AIλ₯Ό 포함(λ˜λŠ” ν¬ν•¨ν•˜μ§€ μ•ŠμŒ)ν•˜λŠ” μ˜΅μ…˜μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ λΉ„μŠ·ν•œ 것을 λ§Œλ“€ 수 μ—†λŠ” μ΄μœ κ°€ λ¬΄μ—‡μž…λ‹ˆκΉŒ?

이 κΈ°λŠ₯의 λͺ©ν‘œλŠ” 진단을 μœ„ν•΄ AIλ₯Ό μ™ΈλΆ€μ—μ„œ ν™œμ„±ν™”ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 기본적으둜 켜져 μžˆμ§€ μ•Šμ€ μœ„μΉ˜μ— μžˆμ§€λ§Œ λ‹€μ–‘ν•œ μ™ΈλΆ€ μž‘μ—…μœΌλ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨ μ½”λ“œ(깨지기 μ‰¬μš΄)λ₯Ό κ±΄λ“œλ¦¬μ§€ μ•Šκ³ λ„ μΌ€ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œλŠ” Visual Studio κ²½ν—˜μ΄ 기본적으둜 (λ‚΄κ°€ λ―ΏλŠ” 디버깅 μ€‘μ—λ§Œ) 켜고 λΉ„ν™œμ„±ν™”ν•˜λŠ” μ˜΅μ…˜μ„ μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

@davidfowl 이제 μ„€λͺ…을 ν•΄μ£Όμ…”μ„œ 마음이 νŽΈν•©λ‹ˆλ‹€. 특히 곧 μ œμ–΄ν•  수 μžˆλ‹€λŠ” 것을 ν™•μΈν•˜μ…¨κΈ° λ•Œλ¬Έμ— λ”μš± κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ 우리의 μž…μž₯에 μ„œμ‹­μ‹œμ˜€. 우리 λŒ€λΆ€λΆ„μ€ AIκ°€ 무엇인지 λͺ¨λ₯΄κ³  ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©° μ‚¬μš©ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€(λ‚˜λ„ AIλ₯Ό μ™„μ „νžˆ μ΄ν•΄ν•˜μ§€ λͺ»ν•œλ‹€λŠ” 것을 μΈμ •ν•©λ‹ˆλ‹€!). κ·ΈλŸ¬λ‚˜ μš°λ¦¬λŠ” 그것이 "telemetry" 와 관련이 μžˆλ‹€λŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” Azure νŒ€μ΄ λŒ€μ‹  "insights" λΌλŠ” 단어λ₯Ό ν˜„λͺ…ν•˜κ²Œ μ„ νƒν–ˆμ„ μ •λ„λ‘œ μœ λ…ν•œ λ‹¨μ–΄μž…λ‹ˆλ‹€.

λ‚΄ μƒμ‚¬λŠ” λΉ„ν™œμ„±ν™”/ν™œμ„±ν™”ν•  수 μžˆλŠ”μ§€ λ˜λŠ” 기본적으둜 κΊΌμ Έ 있고 VSκ°€ ν˜„μž¬ μ˜λ„μ μœΌλ‘œ/λΉ„μ˜λ„μ μœΌλ‘œ(λ˜λŠ” 버그/κ°λ…μœΌλ‘œ 인해) μΌœλŠ”μ§€ 여뢀에 μƒκ΄€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έκ°€ κ±±μ •ν•œ 것은 우리 IP에 잠재적인 λˆ„μΆœμ΄ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. κ²°κ΅­ λˆ„κ°€ μ–΄λ””λ₯Ό... 그리고 λˆ„κ°€ κ·Έλ₯Ό λΉ„λ‚œν•  수 μžˆλŠ”μ§€ μ•Œκ²Œ λ©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ£Όμš” λ“œλΌλ§ˆλ₯Ό κ°€μ‘ŒμŠ΅λ‹ˆλ‹€.

CLI 원격 뢄석을 λΉ„ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ ν•΄λ‹Ή ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜κΈ° μ „μ˜ EF Core와 λ™μΌν•œ λ¬Έμ œμž…λ‹ˆλ‹€.

λ¬Έμ œλŠ” λ¬Έμ„œκ°€ 항상 μ½”λ“œ 뒀에 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ 원격 츑정이 μžˆμ„ λ•Œλ§ˆλ‹€ λ¬Έμ„œμ—μ„œ 이λ₯Ό μ„€λͺ…ν•΄μ•Ό ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” λ‹Ήμ‹ μ²˜λŸΌ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ΄ν•΄ν•˜μ§€ λͺ»ν•œλ‹€λŠ” 점을 λͺ…μ‹¬ν•˜μ‹­μ‹œμ˜€. λ”°λΌμ„œ VS νŒ€μ΄ 이 문제λ₯Ό λ°œκ²¬ν–ˆμ„ λ•Œ μ •λ¦¬ν•˜κ³  λ¬Έμ„œν™”ν–ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λ‚˜λŠ” λ¬Έμ„œκ°€ λ‹Ήμ‹ μ˜ λΆ„μ•Όκ°€ μ•„λ‹ˆλΌλŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€(λ‹Ήμ‹ μ˜ λΆ„μ•ΌλŠ” "멋진 것을 μƒμ‚°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€" :smile:). κ·ΈλŸ¬λ‚˜ λ¬Έμ„œ νŒ€μ— μ••λ ₯을 κ°€ν•˜μ„Έμš”. 이 κΈ°λŠ₯이 무엇인지 μ•Œκ³  λ‚΄ νŒ€κ³Ό κ΄€λ¦¬μžμ—κ²Œ μ„€λͺ…ν•  수 μžˆλ‹€λ©΄ "λ“œλΌλ§ˆ"κ°€ λœν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€. λ‚˜μ€‘μ— 그것에 λŒ€ν•΄ μ•Œκ²Œ 되면 λˆ„κ΅¬λ‚˜ μ‚¬μ•…ν•œ 결둠을 λ‚΄λ¦¬κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€. μ—¬λŸ¬λΆ„μ˜ νŒ€μ—κ²ŒλŠ” 별 λ¬Έμ œκ°€ μ•„λ‹ˆμ§€λ§Œ(그리고 μ—¬λŸ¬λΆ„μ€ μš°λ¦¬κ°€ 아무 것도 μ•„λ‹Œ 것에 λŒ€ν•΄ μ§€λ‚˜μΉ˜κ²Œ 극적이라고 생각할 수 μžˆμ§€λ§Œ) μ‚¬μš©μžμ™€ ν•΄λ‹Ή κ΄€λ¦¬μžμ—κ²ŒλŠ” 이런 μ’…λ₯˜μ˜ 일은 큰 μΌμž…λ‹ˆλ‹€.

(λ‹Ήμ‹ μ˜ ASP νŒ€μ΄ ν•˜λŠ” 일은 101% ν›Œλ₯­ν•©λ‹ˆλ‹€... 그리고 항상 μ‹œκ°„μ„ λ‚΄μ–΄ λ„μ™€μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.)

λΉ„μŠ·ν•œ 것을 μž‘μ„±ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€... μ• μžμΌ μ œν’ˆ μ†Œμœ μž λͺ¨μžλ₯Ό μ“°κ³  이 κΈ°λŠ₯이 μš”μ²­λ˜λŠ” 경우 거기에 μžˆμ–΄μ•Ό ν•˜κ³  MSFTκ°€ μƒκ°ν•˜λŠ” λŒ€λ‘œκ°€ μ•„λ‹ˆλΌ μ‚¬μš©μžκ°€ ν•„μš”λ‘œ ν•˜λŠ” λ°©μ‹μœΌλ‘œ μž‘λ™ν•΄μ•Ό ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” 항상 이것이 MSFTκ°€ 아직 νŒŒμ•…ν•˜μ§€ λͺ»ν•œ Agile/Lean의 λΉ„νŠΈλΌκ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. Sprint 및 μ •κΈ° λ¦΄λ¦¬μŠ€μ—μ„œ μˆ˜λ§Žμ€ μ‹ μ œν’ˆκ³Ό κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μž‘μ—…μ€ ν›Œλ₯­ν•˜μ§€λ§Œ λˆ„κ°€ 이λ₯Ό μš”κ΅¬ν•˜κ³  ν”Όλ“œλ°± λ£¨ν”„λŠ” 어디에 μžˆμŠ΅λ‹ˆκΉŒ?

@grokky1 μ •ν™•νžˆ 무엇을 λ§μ”€ν•˜μ‹œλŠ” κ±΄κ°€μš”? 기본적으둜 켜져 μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. Visual StudioλŠ” κΈ°λŠ₯을 켜기 μœ„ν•΄ ν™˜κ²½ λ³€μˆ˜λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œμ΄ μž‘λ™ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€...

AspNetCore.All nuget νŒ¨ν‚€μ§€λ₯Ό μ°Έμ‘°ν•  λ•Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 톡찰λ ₯이 ν¬ν•¨λ©λ‹ˆλ‹€. VSλ₯Ό μ‹€ν–‰ν•˜λ©΄ 기본적으둜 켜져 있으며 μ΄λŠ” λ”μ°ν•©λ‹ˆλ‹€(λ‚΄ 생각). AI(개발자/μ œν’ˆ μ†Œμœ μžμ˜ κ΄€μ μ—μ„œ)λ₯Ό μ›ν•˜λ©΄ 옡트인(예: nuget νŒ¨ν‚€μ§€λ₯Ό 톡해)ν•  κ²ƒμž…λ‹ˆλ‹€. 이것은 dll만 κ²Œμ‹œλ˜λŠ” λ³΅μž‘ν•œ μ†μž„μˆ˜μΌ 수 μžˆμ§€λ§Œ azureκ°€ ν™œμ„±ν™”ν•  λ•ŒκΉŒμ§€ 기본적으둜 아무 μž‘μ—…λ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 방법이 μ•„λ‹ˆλΌ 원격 μΈ‘μ •μœΌλ‘œ μž‘μ—…ν•˜μ§€λ§Œ "원격 츑정을 ν™œμ„±ν™”/λΉ„ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ μ½”λ“œλ₯Ό λ³€κ²½ν•˜μ§€ 말라"λŠ” κ·€ν•˜μ˜ μš”μ μ„ λ΄…λ‹ˆλ‹€. λ™μ˜ν•˜μ§€ μ•Šμ§€λ§Œ μ•„μ΄λ””μ–΄λŠ” μ•Œκ² μŠ΅λ‹ˆλ‹€.

IISκ°€ μ—†λŠ” μ‚¬λžŒλ“€μ΄ μžˆλ‹€λŠ” 것을 μ•Œκ³  κ³„μ…¨μŠ΅λ‹ˆκΉŒ? μ‘°λͺ… 없이 아무것도? ν•˜λŠ˜μƒ‰ 없이? λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ 원격 뢄석 없이? IIS 없이? λ‚˜λŠ” 이것이 μƒμƒν•˜κΈ° 맀우 μ–΄λ ΅λ‹€λŠ” 것을 μ•Œκ³  μžˆμ§€λ§Œ Linux, nginx, kestrel 및 λ‚΄ μžμ‹ μ˜ μ œμ–΄ 원격 츑정이라고 λ§ν•©λ‹ˆλ‹€. AIκ°€ λ‚˜λ₯Ό κ΄΄λ‘­νžˆλŠ” 것을 μ œμ™Έν•˜κ³ λŠ” 맀λ ₯처럼 μž‘λ™ν•©λ‹ˆλ‹€.

이것은 원격 μΈ‘μ •κ³Ό μœ μ‚¬ν•˜μ§€ μ•Šμ§€λ§Œ ν”Όλ“œλ°±μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. μš°λ¦¬λŠ” λͺ¨λ‘ λ‚΄κ°€ μ„€λͺ…ν•œ λ°©μ‹μœΌλ‘œ νŠΉμ • 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 희망을 κ°–κ³  일뢀 μ‚¬λžŒλ“€μ˜ 두렀움을 μ™„ν™”ν•˜κΈ° μœ„ν•΄ 여기에 λͺ‡ 가지 μ§„μˆ μ„ ν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

  1. Visual Studioμ—μ„œ 디버깅할 λ•Œ Application InsightsλŠ” 디버그 μ„Έμ…˜μ— λŒ€ν•œ μΆ”κ°€ 정보λ₯Ό μ œκ³΅ν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ λ§ˆμ§€λ§‰ 디버그 μ„Έμ…˜μ—μ„œ λ°œμƒν•œ μ˜ˆμ™Έλ₯Ό μ½”λ“œ λ Œμ¦ˆμ— μΆ”κ°€ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ: https://twitter.com/condrong/status/897227862733869057

    • μ–΄λ–€ 식 μœΌλ‘œλ“  데이터λ₯Ό μ•„λ¬΄λ°λ‚˜ λ³΄λ‚΄λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€. 원격 μ•± μΈμ‚¬μ΄νŠΈμ— 데이터λ₯Ό 보내도둝 둜컬 μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜κΈ°λ‘œ κ²°μ •ν•˜μ§€ μ•ŠλŠ” ν•œ. ν•˜μ§€λ§Œ 그럴 λ•Œμ—λ„ μžμ‹ μ˜ 이유 λ•Œλ¬Έμ— μžμ‹ λ§Œμ˜ App Insights μΈμŠ€ν„΄μŠ€κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.
  2. Azure App Servicesλ₯Ό μ‚¬μš©ν•  λ•Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— Application Insightsλ₯Ό μΆ”κ°€ν•˜λ„λ‘ 선택할 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ κ³ μœ ν•œ Application Insights λ¦¬μ†ŒμŠ€λ₯Ό λ§Œλ“€κ³  앱을 λ‹€μ‹œ λ°°ν¬ν•˜μ§€ μ•Šκ³ λ„ 둜그 등이 μžλ™μœΌλ‘œ μ΄λ™ν•˜λ„λ‘ 앱을 μžλ™ ꡬ성할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ‚¬λžŒλ“€μ΄ Azureμ—μ„œ 문제λ₯Ό μΌμœΌν‚€κ³  μ›ν•˜λŠ” 데이터λ₯Ό 얻을 수 μžˆλ‹€κ³  μƒκ°ν•˜λŠ” 경우 Application Insightsλ₯Ό μΌ€ 수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ App Insightsλ₯Ό μ‚¬μš©ν•˜λ©΄ μ›Ή μ‚¬μ΄νŠΈμ— λŒ€ν•œ μ‹€νŒ¨ν•œ μš”μ²­μ„ μ‰½κ²Œ 확인할 수 있으며 μ‹€νŒ¨ν•œ 이유λ₯Ό 진단할 수 μžˆμŠ΅λ‹ˆλ‹€. Application Insightsλ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œλ•μ…˜ 문제λ₯Ό μ§„λ‹¨ν•œ λ§Žμ€ 사둀 연ꡬ가 μžˆμŠ΅λ‹ˆλ‹€. ν•΄κ²°λ˜λŠ” λ¬Έμ œλŠ” μ½”λ“œλ₯Ό λ³€κ²½ν•˜κ³  λ‹€μ‹œ 배포해야 ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” Microsoft이기 λ•Œλ¬Έμ— μ‚¬λžŒλ“€μ΄ Azure에 앱을 μ„±κ³΅μ μœΌλ‘œ 배포할 수 μžˆλ„λ‘ λ•λŠ” 데 λ§Žμ€ μ‹œκ°„μ„ ν• μ• ν•©λ‹ˆλ‹€. μ§€κΈˆ ν”„λ‘œλ•μ…˜ 문제λ₯Ό μ§„λ‹¨ν•˜κ³  ν•΄κ²°ν•΄μ•Ό ν•˜λŠ” κ°€μž₯ 쒋은 방법 쀑 ν•˜λ‚˜λŠ” 검사, ν•΄λΆ€, λͺ¨λ‹ˆν„°λ§ 등을 μˆ˜ν–‰ν•  수 μžˆλŠ” Application Insights둜 κ°€λŠ₯ν•œ λͺ¨λ“  데이터λ₯Ό κ°€μ Έμ˜€λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 κΈ°λŠ₯은 λͺ¨λ“  데이터λ₯Ό 쉽고 μ›ν™œν•˜κ²Œ λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€. λ¬Έμ œλŠ” μ‚¬λžŒλ“€μ΄ 일반적으둜 ν•„μš”ν•  λ•ŒκΉŒμ§€ 이 κΈ°λŠ₯이 ν•„μš”ν•˜λ‹€λŠ” 것을 μ•Œμ§€ λͺ»ν•˜κ³  λ‹€μ‹œ λ°°ν¬ν•˜μ—¬ μΌœλ„λ‘ μš”μ²­ν•˜λŠ” 것이 κ³ ν†΅μŠ€λŸ½κ³  μ„±κ°€μ‹  μΌμ΄λΌλŠ” κ²ƒμž…λ‹ˆλ‹€.

  3. λ‚΄λΆ€ VS κ²½ν—˜μ€ App Serviceμ—μ„œ μ‚¬μš©ν•˜λŠ” 것과 λ™μΌν•œ μ‘°λͺ… κΈ°μˆ μ„ μ‚¬μš©ν•˜μ§€λ§Œ μ‚¬μš© μ‚¬λ‘€λŠ” 맀우 λ‹€λ¦…λ‹ˆλ‹€.

이것이 이것과 κ΄€λ ¨λœ ν˜Όλž€μ— 도움이 λ˜λ‚˜μš”?

이것이 이것과 κ΄€λ ¨λœ ν˜Όλž€μ— 도움이 λ˜λ‚˜μš”?

정보 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 개인적으둜 μ½”λ“œ λ Œμ¦ˆλŠ” λ‚΄κ°€ μ‹«μ–΄ν•˜κ³  λΉ„ν™œμ„±ν™”ν•˜λŠ” 또 λ‹€λ₯Έ κΈ°λŠ₯μž…λ‹ˆλ‹€. IntellitraceλŠ” 또 λ‹€λ₯Έ κ²ƒμž…λ‹ˆλ‹€. μ‹œκ°μ  μ„±λŠ₯κ³Ό 타이밍을 λ³΄μ—¬μ£ΌλŠ” 2017λ…„μ˜ μƒˆλ‘œμš΄ κΈ°λŠ₯은 μ œκ°€ λΉ„ν™œμ„±ν™”ν•œ 또 λ‹€λ₯Έ κΈ°λŠ₯μž…λ‹ˆλ‹€. μš”μ»¨λŒ€, 기본적으둜 VSλ₯Ό λ°©ν•΄ν•˜λŠ” λ§Žμ€ 정크가 μ‹€ν–‰λ˜κ³  VSλŠ” λŠλ €μ§€λŠ” 데 도움이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것은 λ‚΄ κ²½ν—˜μƒ μœ μš©ν•œ VS κΈ°λŠ₯을 많이 찾지 λͺ»ν•˜λŠ” ν”Όλ“œλ°±κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ 그닀지 뢈만이 μ•„λ‹™λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ—¬λŸ¬λΆ„μ΄ κ·Έ 정보λ₯Ό μˆ˜μ§‘ν•˜λ©΄μ„œ 이미 μ•Œκ³  μžˆλ‹€κ³  ν™•μ‹ ν•©λ‹ˆλ‹€. λ‚˜λŠ” κ·Έ 물건을 μ°Ύμ•„ λΉ„ν™œμ„±ν™”ν•˜λŠ” 데 μ‹œκ°„μ„ 보내기 λ•Œλ¬Έμ— μ•„λ§ˆλ„ μ†Œμˆ˜μΌ κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μžμ‹ μ΄ κ·Έλ ‡κ²Œ ν•  수 μžˆλ‹€λŠ” λ‹¨μ„œκ°€ μ—†λŠ” 수천 λͺ…μ˜ μ‚¬λžŒλ“€μ„ 생각해 λ³΄μ‹­μ‹œμ˜€. μ  μž₯, F5λŠ” μΆ©λΆ„νžˆ λŠλ¦½λ‹ˆλ‹€. Ctrl-F5κ°€ μΆ©λΆ„νžˆ μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€(λͺ¨λ₯΄λŠ” μ‚¬λžŒλ“€μ„ μœ„ν•΄ Ctrl-F5λŠ” 디버깅 없이 앱을 μ‹œμž‘ν•˜κ³  훨씬 더 λΉ λ¦…λ‹ˆλ‹€). λ‚΄κ°€ 미친 μ†Œλ¦¬λ‘œ 듀리고 당신은 μ•„λ§ˆλ„ λˆˆμ„ ꡴릴 κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ κ·Έ λ‚­λΉ„λ˜λŠ” 사이클이 ν•©μ‚°λ©λ‹ˆλ‹€.

μš”μ»¨λŒ€, λ‚΄ 개인적인 ν”Όλ“œλ°±μ€ 더 λ§Žμ€ μ“°λ ˆκΈ°κ°€ 쒋은 것과 λ™μΌν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

특히 μ•± μΈμ‚¬μ΄νŠΈμ˜ 경우 λ¬Έμ œλŠ” Azure κ΄€λ ¨ μ œν’ˆ 으둜 μ•Œλ €μ Έ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ASP.NET은 "κ°œλ°©ν˜•" ν”„λ ˆμž„μ›Œν¬λ‘œ ν¬μ§€μ…”λ‹λ˜μ–΄ μžˆμœΌλ―€λ‘œ azure μ œν’ˆμ„ ν”„λ ˆμž„μ›Œν¬μ— λͺ°λž˜ λ„£λŠ” 것은 λ”λŸ½κ²Œ λŠκ»΄μ§€κ³  Microsoft에 λŒ€ν•œ λΆˆμ‹ μœΌλ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€. λ‚˜λŠ” 그것이 거의 정상이더라도 μƒκ΄€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 거기에 λΆˆν•„μš”ν•œ(특히 μ›μΉ˜ μ•ŠλŠ” μ œν’ˆν™”) μ½”λ“œλ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠλŠ” 것을 μ„ ν˜Έν•©λ‹ˆλ‹€.

그것을 μ›ν•˜λŠ” μ‚¬λžŒλ“€μ„ μœ„ν•΄, ꡉμž₯ν•©λ‹ˆλ‹€. 그것을 μ‚¬μš©ν•˜λŠ” λ‚˜μ˜ 고객을 μœ„ν•΄, 그듀은 그것을 μ’‹μ•„ν•©λ‹ˆλ‹€. ν›Œλ₯­ν•˜κ³  μœ μš©ν•œ κΈ°λŠ₯을 λ§Œλ“œλŠ”(λ˜λŠ” κ΅¬λ§€ν•˜λŠ”?) ν›Œλ₯­ν•œ μž‘μ—…μž…λ‹ˆλ‹€. κ·Έλƒ₯ 옡트인 ν•΄μ£Όμ„Έμš”.

...λ¬Έμ œλŠ” 그것이 ν•˜λŠ˜μƒ‰ μ „μš© μ œν’ˆμœΌλ‘œ μ•Œλ €μ Έ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ASP.NET은 "κ°œλ°©ν˜•" ν”„λ ˆμž„μ›Œν¬λ‘œ ν¬μ§€μ…”λ‹λ˜μ–΄ μžˆμœΌλ―€λ‘œ _SNEAKING_ azure μ œν’ˆμ„ ν”„λ ˆμž„μ›Œν¬μ— λ„£λŠ” 것은 λ”λŸ½κ²Œ λŠκ»΄μ§€κ³  Microsoft에 λŒ€ν•œ λΆˆμ‹ μœΌλ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€ . 거의 노노라면 μƒκ΄€μ—†μ–΄μš”...

+1

λ‚΄ ν”„λ‘œμ νŠΈλ₯Ό κ²Œμ‹œν–ˆλŠ”λ° ν™˜κ²½ λ³€μˆ˜μ— ASPNETCORE_preventHostingStartup을 포함해도 μ—¬μ „νžˆ Microsoft.ApplicationInsightsλ₯Ό μ’…μ†μ„±μœΌλ‘œ λ‚˜μ—΄ν•©λ‹ˆλ‹€. λ”°λΌμ„œ ν•΄κ²° 방법은 λ””λ²„κΉ…μ—λ§Œ 적용되고 κ²Œμ‹œλŠ” λ˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ•„λ‹ˆλ©΄ λ‚΄κ°€ λ†“μΉœ 것이 μžˆμŠ΅λ‹ˆκΉŒ?

μ˜μ‘΄μ„±μ€ 항상 μ‘΄μž¬ν•˜μ§€λ§Œ λˆ„κ΅°κ°€κ°€ 그것을 λ°νžˆμ§€ μ•ŠλŠ” ν•œ 아무 일도 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ¬Έμ œλŠ” μ„œλ²„μ— λŸ°νƒ€μž„λ§Œ μ„€μΉ˜ν–ˆκΈ° λ•Œλ¬Έμ— assembly specified in the dependencies manifest was not found λ©”μ‹œμ§€κ°€ ν‘œμ‹œλœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. μ§€κΈˆμ€ SDKλ₯Ό μ„€μΉ˜ν•˜κ³  λ¬Έμ œκ°€ μ‚¬λΌμ‘Œμ§€λ§Œ κΉ¨λ—ν•œ 해결책은 μ•„λ‹™λ‹ˆλ‹€.

두 가지가 μ–΄λ–»κ²Œ μ—°κ²°λ˜μ–΄ μžˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μž¬ν˜„ 단계와 전체 였λ₯˜ λ©”μ‹œμ§€κ°€ ν¬ν•¨λœ 쒅단 κ°„ μƒ˜ν”Œμ„ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

빈 ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•˜μ—¬ μƒˆ ASP.NET Core 2.0 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μƒμ„±ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 μ΅œμ†Œ csprojλ₯Ό μ–»μŠ΅λ‹ˆλ‹€.

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
  </ItemGroup>

</Project>

이제 ν”„λ‘œμ νŠΈλ₯Ό 디렉토리에 κ²Œμ‹œν•˜κ³  μƒμ„±λœ .deps.json νŒŒμΌμ„ μ‚΄νŽ΄λ΄…λ‹ˆλ‹€. Microsoft.ApplicationInsights λŠ” λ‚΄κ°€ launchSettings에 무엇을 ν¬ν•¨ν•˜λ“  상관없이 여기에 포함될 κ²ƒμž…λ‹ˆλ‹€.

예, μž‘λ™ν•©λ‹ˆλ‹€. μ•žμ„œ λ§ν–ˆλ“―μ΄ 쒅속성은 항상 ν¬ν•¨λ˜λ©° 무언가가 켜질 λ•ŒκΉŒμ§€ 아무 것도 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ •ν™•ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λŸ°νƒ€μž„μ— dll(λŸ°νƒ€μž„
κ°€κ²Œ). ν•œ 가지 예λ₯Ό λ“€μžλ©΄ linux-arm RID의 κ²½μš°μž…λ‹ˆλ‹€. λ‹€λ₯Έ μ‚¬λžŒλ“€κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ
dll을 찾을 수 μ—†λ‹€λŠ” 였λ₯˜λ‘œ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

μ˜€μ „ 10.09.2017 10:38 schrieb "David Fowler" μ•Œλ¦Ό @github.com:

예, μž‘λ™ν•©λ‹ˆλ‹€. μ•žμ„œ λ§ν–ˆλ“―μ΄ 쒅속성은 항상 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
그리고 무언가가 빛을 λ°œν•  λ•ŒκΉŒμ§€ 아무 일도 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

β€”
당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/aspnet/Home/issues/2051#issuecomment-328328232 λ˜λŠ” μŒμ†Œκ±°
μŠ€λ ˆλ“œ
https://github.com/notifications/unsubscribe-auth/ANUK-3BK2phWmuA45xY__m7nq1cbya0Tks5sg6AQgaJpZM4N0O32
.

Ubuntu 16.04μ—μ„œ μ‹œλ„ν–ˆλŠ”λ° μŠ€ν† μ–΄μ— DLL이 λˆ„λ½λ˜μ—ˆλ‹€λŠ” 였λ₯˜ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ ν™•μ‹€νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ§€κΈˆμ€ 이미 SDKκ°€ μ„€μΉ˜λ˜μ–΄ 있기 λ•Œλ¬Έμ— λ©”μ‹œμ§€λ₯Ό 볡사할 수 μ—†μ§€λ§Œ μž¬ν˜„ν•˜κΈ°λŠ” κ½€ μ‰¬μšΈ κ²ƒμž…λ‹ˆλ‹€.

νŠΉμ • μž¬ν˜„ 단계 λ˜λŠ” μž¬ν˜„ 단계가 μžˆλŠ” ν”„λ‘œμ νŠΈλ₯Ό μ œκ³΅ν•  수 μžˆλ‹€λ©΄ 정말 쒋을 κ²ƒμž…λ‹ˆλ‹€! λͺ¨λ“  ν™˜κ²½ μ„ΈλΆ€ 정보λ₯Ό μ§€μ •ν•˜λŠ” 것을 μžŠμ§€ λ§ˆμ‹­μ‹œμ˜€(dotnet --infoκ°€ 잘 μž‘λ™ν•¨).

λͺ¨λ“  것이 기본적으둜 μž‘λ™ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒλ©λ‹ˆλ‹€(μ΄λŠ” μš°λ¦¬κ°€ ν™•μΈν•œ κ²ƒμž…λ‹ˆλ‹€). μš°λ¦¬κ°€ λ­”κ°€λ₯Ό λ†“μΉ˜λ©΄ 그것을 μ•„λŠ” 것이 쒋을 κ²ƒμž…λ‹ˆλ‹€. "κΈ°λ³Έ" ν™˜κ²½μ΄ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λΆˆλ§Œμ„ λ³Έ 것은 이번이 μ²˜μŒμž…λ‹ˆλ‹€. 직접 μž¬ν˜„ν•  μˆ˜λ„ μ—†μ§€λ§Œ λˆ„λ½λœ νŠΉμ • μ„ΈλΆ€ 정보가 λˆ„λ½λœ 것은 ν™•μ‹€ν•©λ‹ˆλ‹€.

@davidfowl μ •ν™•ν•œ μž¬ν˜„: https://github.com/dotnet/core-setup/issues/3122
ν”„λ‘œμ νŠΈκ°€ ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©° κΈ°λ³Έ μ›Ή ν…œν”Œλ¦Ώμ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 톡찰λ ₯을 μ’…μ†μ„±μœΌλ‘œ κ°€μ Έμ˜΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ •ν™•ν•œ μž¬ν˜„μ„ μœ„ν•΄μ„œλŠ” μ•” μž₯μΉ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

Raspian 리포지토리(Raspberry Pi κΈ°λ³Έ Linux 배포판)μ—λŠ” λ‹€λ₯Έ 이야기가 μžˆμ„ 수 μžˆμ§€λ§Œ( apt-get λ₯Ό 톡해 μ„€μΉ˜ν•˜λŠ” 경우) λ™μΌν•œ λ¬Έμ œκ°€ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ‹€λ₯Έ λˆ„κ΅°κ°€κ°€ 이것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” raspberry piλ₯Ό 가지고 μžˆμ§€ μ•Šκ³  우리의 buildroot λ°°ν¬νŒμ€ debian이 μ•„λ‹™λ‹ˆλ‹€.

@Falco20019 λŠ” x64 λ˜λŠ” arm μ•„ν‚€ν…μ²˜μ—μ„œ Ubuntu 16.04μ—μ„œλ„ μ‹€νŒ¨ν•œλ‹€κ³  λ³΄κ³ ν–ˆμŠ΅λ‹ˆλ‹€. 당신은 SDKλ₯Ό μ„€μΉ˜ν•  λ•Œ μž‘λ™ν–ˆλ‹€κ³  λ§ν–ˆμŠ΅λ‹ˆλ‹€. μ’€ 더 μžμ„Έν•œ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이전에 무엇을 μ„€μΉ˜ν–ˆμŠ΅λ‹ˆκΉŒ(링크)? linux-x64μ—μ„œλ„ μ‹€νŒ¨ν•˜λ©΄ νŒ” μž₯μΉ˜κ°€ μ—†λŠ” μ‚¬λžŒλ“€μ΄ 더 μ‰½κ²Œ μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν˜Όλž€μŠ€λŸ¬μ›Œμ„œ μžμ„Έν•œ μ„€λͺ…을 κΈ°λ‹€λ¦¬κ² μŠ΅λ‹ˆλ‹€.

arm λ¬Έμ œλŠ” Linux arm용 λŸ°νƒ€μž„ μ €μž₯μ†Œκ°€ μ—†κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€(ν•΄κ²° 방법도 λ¬Έμ œμ— κ²Œμ‹œλ¨).

@Falco20019 이것이 당신이 κ²ͺκ³  μžˆλŠ” λ¬Έμ œμž…λ‹ˆκΉŒ?

λ‚˜λŠ” νŒ”μ΄ ν‹ˆμƒˆ μ‹œμž₯μ΄λΌλŠ” 데 λ™μ˜ν•˜μ§€λ§Œ "기본적으둜 μž‘λ™ν•œλ‹€"κ³  λ§ν•˜λ©΄ μ•ˆλ©λ‹ˆλ‹€. 기본적으둜 Windows-x64μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€. "μ–΄λ””μ„œλ‚˜ dotnet μ‹€ν–‰" 아이디어가 ν›Œλ₯­ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 이것이 Java의 성곡 μ‚¬λ‘€μž…λ‹ˆλ‹€. 개인적으둜 μ €λŠ” dotnet을 μ’‹μ•„ν•˜κ³  κΉŒλ‹€λ‘œμš΄ μž„λ² λ””λ“œ ν”„λ‘œμ νŠΈκ°€ "dotnet 핡심 기회"둜 λ°”λ€λ‹ˆλ‹€. κΈ°λ³Έ ν…œν”Œλ¦Ώμ€ μ–΄λ””μ—μ„œλ‚˜ μ‹€ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλ ‡μ£ ?

예, ν•˜μ§€λ§Œ μš°λ¦¬κ°€ ARM을 일급 μ‹œλ‚˜λ¦¬μ˜€λ‘œ λŒ€μƒμœΌλ‘œ ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. ARM은 ν˜„μž¬ "λ³€κ²½ 사항을 μ μš©ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€" 범주에 μ†ν•©λ‹ˆλ‹€. μ˜μ›νžˆ 그런 것은 μ•„λ‹ˆμ§€λ§Œ 문제의 원인에 λŒ€ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨ 톡찰λ ₯이 μ˜¬λ°”λ₯΄μ§€ μ•Šλ‹€κ³  μ£Όμž₯ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” 이 μŠ€λ ˆλ“œκ°€ μ•± μΈμ‚¬μ΄νŠΈλ₯Ό μ˜΅νŠΈμ•„μ›ƒ λŒ€μ‹  옡트인으둜 λ§Œλ“œλŠ” 것에 κ΄€ν•œ 것이며 μš°λ¦¬λŠ” κ²½ν—˜μ„ μž¬ν‰κ°€ν•΄μ•Ό ν•œλ‹€λŠ” 것을 μ•Œμ§€λ§Œ μ–ΈκΈ‰λœ μ–΄λ–€ κ²ƒμ—μ„œλ„ 그것이 λ¬Έμ œλΌλŠ” μ‹€μ œ 증거λ₯Ό 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” 도움을 μ£ΌκΈ° μœ„ν•΄ μ΅œμ„ μ„ λ‹€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ €λŠ” FUDκ°€ νΌμ§€λŠ” 것을 μ’‹μ•„ν•˜μ§€ μ•Šμ„ λΏμž…λ‹ˆλ‹€.

davidfowl... 이 μŠ€λ ˆλ“œλŠ” μ•± μΈμ‚¬μ΄νŠΈκ°€ μ˜΅νŠΈμ•„μ›ƒ λŒ€μ‹  μ˜΅νŠΈμΈλ˜λ„λ‘ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ™μ˜ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 그것에 집쀑해야 ν•©λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ λ„ˆλ¬΄ λ§Žμ€ 문제둜 인해 μˆ˜λ μ— λΉ μ Έ 아무것도 ν•΄κ²°ν•˜μ§€ λͺ»ν•  κ²ƒμž…λ‹ˆλ‹€.

(...μ—¬λŸ¬λΆ„, μƒˆλ‘œμš΄ λ¬Έμ œμ—μ„œ λ‹€λ₯Έ λ¬Έμ œμ— λŒ€ν•΄ λ…Όμ˜ν•  수 μžˆμ„κΉŒμš”?)

@davidfowl μ£„μ†‘ν•©λ‹ˆλ‹€, μ•„νŒŒμ„œ μ΄μ œμ„œμ•Ό λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ„œλ²„λŠ” "Ubuntu 16.04.3 LTS(GNU/Linux 4.4.0-71-generic x86_64)"μ΄λ―€λ‘œ ARM이 μ•„λ‹™λ‹ˆλ‹€.

dotnet λŸ°νƒ€μž„ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜μ—¬ dotnet publish의 κ²Œμ‹œλœ κ²°κ³Όλ₯Ό μ‹€ν–‰ν•  λ•Œ μ•± μΈμ‚¬μ΄νŠΈ λ¬Έμ œκ°€ λ°œμƒν•œλ‹€λŠ” 사싀을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. dotnet sdk νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜μ—¬ dotnet publish의 κ²Œμ‹œλœ κ²°κ³Όλ₯Ό μ‹€ν–‰ν•˜λ©΄ μ œλŒ€λ‘œ μ‹€ν–‰λ©λ‹ˆκΉŒ? 이것은 배포된 μ»¨ν…Œμ΄λ„ˆμ— λŒ€ν•΄μ„œλ§Œ λŸ°νƒ€μž„μ„ λŒ€μƒμœΌλ‘œ ν•˜λ €κ³  ν•˜λ―€λ‘œ 도컀 μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ˜ λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€. 이것은 aspnetcore 1μ—μ„œ κ°€λŠ₯ν–ˆμŠ΅λ‹ˆλ‹€.

@AlphaCluster μž¬ν˜„ 단계λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? ASP.NET μ»¨ν…Œμ΄λ„ˆ κΈ°λ³Έ 이미지λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  λŒ€μ‹  dotnet κΈ°λ³Έ 이미지λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? ν•΄λ‹Ή κΈ°λ³Έ μ΄λ―Έμ§€μ—λŠ” λŸ°νƒ€μž„ μ €μž₯μ†Œκ°€ μ—†μ§€λ§Œ μ•± μΈμ‚¬μ΄νŠΈ λ‘œλ“œ μ‹€νŒ¨κ°€ μ•„λ‹ˆλΌ 이λ₯Ό μ„€λͺ…ν•˜λŠ” 였λ₯˜κ°€ ν‘œμ‹œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μΆœμ‹œλ˜λŠ” dotnet λŸ°νƒ€μž„ 및 sdk tarball을 μ‚¬μš©ν•˜μ—¬ 자체 이미지λ₯Ό κ΅¬μΆ•ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. dotnet publishλ₯Ό μ‚¬μš©ν•˜μ—¬ 폴더에 κ²Œμ‹œν•œ λ‹€μŒ λŸ°νƒ€μž„μ„ μ‹€ν–‰ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—μ„œ μ‹€ν–‰ν•©λ‹ˆλ‹€. 이것은 1.0 λ²„μ „μ—μ„œλŠ” 잘 μž‘λ™ν–ˆμ§€λ§Œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•  λ•Œ 2.0이 λ‚˜μ˜¨ ν›„ λŸ°νƒ€μž„ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•˜λ©΄ 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

Error:
  An assembly specified in the application dependencies manifest (<project name>.deps.json) was not found:
    package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1'
    path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'
  This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
    aspnetcore-store-2.0.0-linux-x64.xml;aspnetcore-store-2.0.0-osx-x64.xml;aspnetcore-store-2.0.0-win7-x64.xml;aspnetcore-store-2.0.0-win7-x86.xml

이 λ¬Έμ œλŠ” μš°λ¦¬κ°€ 보고 있던 것과 μœ μ‚¬ν•΄ λ³΄μ˜€μœΌλ―€λ‘œ 이것이 λ‹€λ₯Έ 문제인 경우 λ‹€λ₯Έ 문제λ₯Ό μ—΄ β€‹β€‹μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

@AlphaCluster μ‚¬μš©μž 지정 도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό λ§Œλ“œλŠ” 데 μ‚¬μš©ν•œ νŠΉμ • μž¬ν˜„ 단계에 λŒ€ν•œ μƒˆλ‘œμš΄ 문제λ₯Ό μ œμΆœν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 그러면 λͺ¨ν˜Έν•¨ 없이 문제λ₯Ό μž¬ν˜„ν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€.

2.0.0μ—μ„œλŠ” κ²Œμ‹œλœ 좜λ ₯이 잘린 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ λŸ°νƒ€μž„ μ €μž₯μ†Œλ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€(κΈ°λ³Έ λ™μž‘). λΆˆν–‰νžˆλ„ sdk 및 λŸ°νƒ€μž„ tarballμ—λŠ” λŸ°νƒ€μž„ μ €μž₯μ†Œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ―€λ‘œ 도컀 μ»¨ν…Œμ΄λ„ˆμ— μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. https://github.com/aspnet/aspnet-docker/blob/master/2.0/jessie/runtime/Dockerfile#L5에 μƒˆ λŸ°νƒ€μž„ μ €μž₯μ†Œλ₯Ό μ„€μΉ˜ν•˜λŠ” 방법을 λ³΄μ—¬μ£ΌλŠ” 예제 이미지가 μžˆμŠ΅λ‹ˆλ‹€.

@AlphaCluster : Microsoft.AspNetCore.All NuGet νŒ¨ν‚€μ§€λŠ” ApplicationInsights dll을 κ²Œμ‹œ ν΄λ”λ‘œ κ°€μ Έμ˜€κ³  λŒ€μ‹  NuGet νŒ¨ν‚€μ§€λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©ν•˜μ§€ μ•ŠκΈ°λ‘œ κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€.

Startup 클래슀의 Configure λ©”μ„œλ“œμ—μ„œ 이것을 μ‚¬μš©ν•˜μ—¬ Application Insights의 원격 뢄석 λ‘œκΉ…μ„ μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€.

var configuration = app.ApplicationServices.GetService<TelemetryConfiguration>();
configuration.DisableTelemetry = true;            

κ³ λ§ˆμ›Œ Yris - 이것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€. λΆˆν–‰νžˆλ„ 당신은 그것을 μ°ΎκΈ° μœ„ν•΄μ΄ κΈ°μ‚¬μ˜ λκΉŒμ§€ λͺ…ν™•ν•΄μ•Όν•©λ‹ˆλ‹€.

@tpplyler 천만 μ—μš”.
vscodeμ—μ„œ 이 νŒ¨μΉ˜λŠ” trycatchν•΄μ•Ό ν•˜λŠ” μ˜ˆμ™Έλ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€.

@ysris 의 μ†”λ£¨μ…˜μ€ μ €μ—κ²Œλ„ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ Startup.Configure() TelemetryConfiguration.DisableTelemetry = true λ₯Ό μ„€μ •ν•˜λŠ” 것은 Visual Studioκ°€ 기본적으둜 μˆ˜ν–‰ν•˜λŠ” AI의 "밝기"λ₯Ό "λ°˜μ „"ν•˜λŠ” κ°€μž₯ κ°„λ‹¨ν•œ 방법인 것 κ°™μŠ΅λ‹ˆλ‹€. AI μ–΄μ…ˆλΈ”λ¦¬λŠ” 특히 Microsoft.AspNetCore.All νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 계속 NuGet μ’…μ†μ„±μœΌλ‘œ ν¬ν•¨λ˜μ§€λ§Œ 아무 μž‘μ—…λ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 그듀이 무엇이든 ν•  수 μžˆλŠ” μœ μΌν•œ 방법은 Azure와 같은 λ‹€λ₯Έ μˆ˜λ‹¨μœΌλ‘œ λ‹€μ‹œ λΆˆμ„ μΌœλŠ” κ²ƒμž…λ‹ˆλ‹€. ASPNETCORE_preventHostStartup λ₯Ό true둜 μ„€μ •ν•˜λ©΄ 7월에 @Tratcher κ°€ 처음 μ œμ•ˆν•œ 것과 λ™μΌν•œ 효과λ₯Ό 얻을 수 μžˆμ§€λ§Œ λ¬Έμ„œ 에 λ”°λ₯΄λ©΄

μ•±μ˜ μ–΄μ…ˆλΈ”λ¦¬λ₯Ό ν¬ν•¨ν•˜μ—¬ ν˜ΈμŠ€νŒ… μ‹œμž‘ μ–΄μ…ˆλΈ”λ¦¬μ˜ μžλ™ λ‘œλ“œλ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€.

@davidfowl 이 9월에 μΈμ •ν•œ κ²ƒμ²˜λŸΌ 이것은 μƒλ‹Ήνžˆ "큰 망치"이며 λ°”λžŒμ§ν•˜μ§€ μ•Šμ€ λΆ€μž‘μš©μ΄ μžˆμ„ 수 μžˆμœΌλ―€λ‘œ @ysris 의 μ†”λ£¨μ…˜μ„ κ³ μˆ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λΆˆν–‰νžˆλ„ @ysris ' μ†”λ£¨μ…˜μ΄ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. @Tratcherμ—μ„œ μ œκ³΅ν•˜λŠ” "큰 망치" μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€. https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/724 μ°Έμ‘°

디버깅 쀑인 ν”„λ‘œμ„ΈμŠ€μ—μ„œ VS의 AI에 μ˜ν•œ μž”μΈν•œ μ£Όμž…μ΄ λΆ€μž‘μš©μ΄ 있고 디버깅 κ²½ν—˜μ„ λ°©ν•΄ν•˜λŠ” 상황을 μƒμ„±ν•˜κΈ° λ•Œλ¬Έμ— 이것은 맀우 ν˜Όλž€μŠ€λŸ½μŠ΅λ‹ˆλ‹€. @brockallen 은 λ‚΄κ°€ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 이 λͺ¨λ“  보풀 없이 μ•ˆμ •μ μ΄κ³  κ±΄μ „ν•œ VSλ₯Ό μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λŠ” 데 λ™μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ•”μ‹œμ  μ˜΅νŠΈμΈμ— λŒ€ν•œ 큰 엄지손가락을 μ•„λž˜λ‘œ.

μ—¬λŸ¬ 가지 λ‹€λ₯Έ 버그가 λ™μ‹œμ— μ΄μ•ΌκΈ°λ˜κ³  있고 μ—¬κΈ°μ—μ„œ κ°€μž₯ 잘 보고된 것은 μ—†λ‹€λŠ” μš”μ μ— λ„λ‹¬ν–ˆκΈ° λ•Œλ¬Έμ— 이 문제λ₯Ό λ‹«μŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ ν™•μ‹€ν•˜μ§€ μ•Šλ‹€κ³  λ§ν•œ λͺ‡ 가지λ₯Ό μš”μ•½ν•˜μžλ©΄ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • App InsightsλŠ” λŸ°νƒ€μž„ μ €μž₯μ†Œμ— λ¬Έμ œκ°€ μžˆμ„ λ•Œ λ‚˜μ—΄λ˜λŠ” 첫 번째 μ–΄μ…ˆλΈ”λ¦¬μž…λ‹ˆλ‹€. 즉, μ‹€μ œλ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 톡찰λ ₯κ³Ό 관련이 μ—†λŠ” λ§Žμ€ 였λ₯˜ λ©”μ‹œμ§€μ— λ‚˜νƒ€λ‚©λ‹ˆλ‹€. μ•± μΈμ‚¬μ΄νŠΈμ— μ˜μ‘΄ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ λ™μ‹œμ— 거기에 λ‚˜νƒ€λ‚œ λ‹€λ₯Έ ASP.NET Core μ–΄μ…ˆλΈ”λ¦¬κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.
  • λŸ°νƒ€μž„ μ €μž₯μ†Œμ— λ¬Έμ œκ°€ μžˆλŠ” 경우 얻을 수 μžˆλŠ” λΆ€μž‘μš© 쀑 ν•˜λ‚˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 톡찰λ ₯κ³Ό 같이 μ–΄μ…ˆλΈ”λ¦¬κ°€ μ €μž₯μ†Œμ— λ‚˜νƒ€λ‚  수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. μ˜μ‘΄ν•˜λŠ” λͺ¨λ“  것이 AspNetCore.All λ©”νƒ€νŒ¨ν‚€μ§€μΈ 경우 κΈ°λ³Έ ν™˜κ²½μ€ μ•± μ–΄μ…ˆλΈ”λ¦¬λ§Œ bin에 μžˆμ–΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 App Insights와 μ™„μ „νžˆ 독립적인 버그가 λ°œμƒν•©λ‹ˆλ‹€.
  • VSμ—μ„œ 디버깅할 λ•Œ μ•± μΈμ‚¬μ΄νŠΈλ₯Ό μΌœμ§€ μ•ŠλŠ” 더 λΆ„λͺ…ν•œ μ˜΅μ…˜μ„ μΆ”κ°€ν•©λ‹ˆλ‹€. ν–₯ν›„ μ—…λ°μ΄νŠΈμ— λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€. 일반적으둜 ν˜ΈμŠ€νŒ… μ‹œμž‘μ„ 끄지 μ•Šκ³  νŠΉμ • ν˜ΈμŠ€νŒ… μ‹œμž‘ μ–΄μ…ˆλΈ”λ¦¬λ₯Ό μ œμ™Έν•˜λŠ” 보닀 μ„ΈλΆ„ν™”λœ μ œμ–΄λ„ μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” App Insights에 λŒ€ν•œ λ²„κ·ΈλŠ” μ•± 톡찰λ ₯ μ €μž₯μ†Œμ— μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λŸ°νƒ€μž„ μ €μž₯μ†Œ λ¬Έμ œμ— λŒ€ν•œ λ²„κ·ΈλŠ” 메타 νŒ¨ν‚€μ§€ μ €μž₯μ†Œμ— μ œμΆœν•˜κ±°λ‚˜ μ—¬κΈ° ν™ˆ μ €μž₯μ†Œμ— λͺ…ν™•ν•œ μž¬ν˜„ 단계가 μžˆλŠ” 또 λ‹€λ₯Έ 문제λ₯Ό μ œμΆœν•˜λ©΄ 도움을 λ“œλ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ 무엇인지 μ•Œμ•„λ‚΄μ‹­μ‹œμ˜€.

μˆœν™˜ 참쑰와 같은 두 ν”„λ‘œμ νŠΈκ°€ 마감 μƒνƒœλ₯Ό μ •λ‹Ήν™”ν•˜κΈ° μœ„ν•΄ μ„œλ‘œ μ°Έμ‘°ν•©λ‹ˆκΉŒ?
μ°Έμ‘° https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/523 이 ν”„λ‘œμ νŠΈμ—μ„œ 문제λ₯Ό ν•΄κ²°ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€.
이거 λ‹€μ‹œ μ—΄μ–΄λ³ΌκΉŒμš”? μ•„λ‹ˆλ©΄ λ‹€λ₯Έ?

@DenisDollfus 이 μŠ€λ ˆλ“œκ°€ λ‹«νžŒ κ²ƒμœΌλ‘œ κ°„μ£Όν•˜κΈ°μ— μΆ©λΆ„ν•œ μ„€λͺ…/ν•΄κ²° 방법을 μ œκ³΅ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@Rabadash8820 ν•΄κ²° 방법보닀 μˆ˜μ • 사항이 더 μ’‹μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œ μœ„μ˜ @glennc μ—μ„œ "VSμ—μ„œ 디버깅할 λ•Œ μ•± μΈμ‚¬μ΄νŠΈλ₯Ό μΌœμ§€ μ•ŠλŠ” 더 λΆ„λͺ…ν•œ μ˜΅μ…˜μ„ μΆ”κ°€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν–₯ν›„ μ—…λ°μ΄νŠΈμ— λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€."라고 λ§ν•œ λ§ˆμ§€λ§‰ 지점을 λ†“μ³€μŠ΅λ‹ˆλ‹€.
이 μ—…λ°μ΄νŠΈμ˜ κ°€μš©μ„±μ„ μΆ”μ ν•˜κΈ° μœ„ν•΄ λ―Έν•΄κ²° λ¬Έμ œκ°€ 있으면 도움이 될 κ²ƒμž…λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œλŠ” 도ꡬ 문제λ₯Ό μΆ”μ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이것은 맀우 μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆλ‹€. DotNet Core 2.0을 μ‚¬μš©ν•˜λ©΄ μ˜€ν”ˆ μ†ŒμŠ€μ™€ μ •ν™•νžˆ λ°˜λŒ€λ˜λŠ” ApplicationInsightsκ°€ κ°•μ œ μ μš©λ©λ‹ˆλ‹€.

@genifycom - btw 이것은 Visual Studio의 μ΅œμ‹  미리 λ³΄κΈ°μ—μ„œ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이제 끌 수 μžˆλŠ” 도ꡬ μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.

image

@BillHiebert κ³΅μœ ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.
VS 2017 15.5.5μ—μ„œλŠ” 보이지 μ•ŠμŠ΅λ‹ˆλ‹€. 미리보기 15.6의 μΌλΆ€μž…λ‹ˆκΉŒ?

νŽΈμ§‘: 예, "미리보기"λ₯Ό μž‘μ„±ν•˜μ…¨μŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  μˆ˜μ • 사항을 μ°ΎλŠ” μ‚¬λžŒμ—κ²Œ 버전 번호λ₯Ό μ œκ³΅ν•˜λ―€λ‘œ λ‚΄ μ‹€μˆ˜λ₯Ό μ‚­μ œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@DenisDollfus - λ§žμŠ΅λ‹ˆλ‹€. λ³€κ²½ 사항은 15.6의 미리 보기에 μžˆμŠ΅λ‹ˆλ‹€.

이것은 μ΅œμ‹  λ²„μ „μ˜ Visual Studio 15.6.3μ—μ„œ λ¦΄λ¦¬μŠ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

"ASPNETCORE_preventHostingStartup": "True" 섀정을 μ„ νƒν•œ κ²½μš°μ—λ„
λ””λ²„κΉ…ν•˜λŠ” λ™μ•ˆ μ—¬μ „νžˆ 일뢀 원격 뢄석 λ‘œκ·Έκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

image

μ–΄λ–€ 아이디어?? 이 둜그λ₯Ό μ™„μ „νžˆ μ œκ±°ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

ASP.NET Core 2.1둜 μ—…κ·Έλ ˆμ΄λ“œ πŸ˜„

κΈ°μ‘΄ ν”„λ‘œμ νŠΈμ—μ„œ 쒅속성을 μ œκ±°ν•˜λŠ” 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?
web api .net coreμ—μ„œ ν…œν”Œλ¦Ώ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€κ³  λΉŒλ“œμ™€ λ‹€λ₯Έ μ»΄ν“¨ν„°μ—μ„œ μ‹€ν–‰ν•˜λ €κ³  ν•˜λ©΄ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
image

@afucher netcoreapp2.0 을 λŒ€μƒμœΌλ‘œ ν•œλ‹€κ³  κ°€μ •ν•˜λ©΄ 2.0 aspnetcore λŸ°νƒ€μž„ μ €μž₯μ†Œλ₯Ό μ„€μΉ˜ν•˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€. λŸ°νƒ€μž„ μ €μž₯μ†ŒλŠ” SDK( https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.200 )에 ν¬ν•¨λ˜μ–΄ μžˆκ±°λ‚˜ https://wwwμ—μ„œ ASP.NET Core λŸ°νƒ€μž„μ„ κ°œλ³„μ μœΌλ‘œ λ‹€μš΄λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. microsoft.com/net/download/dotnet-core/runtime-2.0.8.

@davidfowl μ—…κ·Έλ ˆμ΄λ“œλ‘œ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

  1. VS(15.7.3)μ—μ„œ 둜컬 μ•± μΈμ‚¬μ΄νŠΈκ°€ λΉ„ν™œμ„±ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  2. ASP.NET μ½”μ–΄ 2.1 μ‹€ν–‰

λ‚΄ 좜λ ₯은 μ—¬μ „νžˆ ​​AI 둜그둜 가득 μ°¨ μžˆμŠ΅λ‹ˆλ‹€.

도ꡬ -> μ˜΅μ…˜μ—μ„œ "둜컬 Application Insights λΉ„ν™œμ„±ν™” ..."λ₯Ό ν™•μΈν•˜λ©΄ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€. VS 15.7.5.

μ €λŠ” 15.8.4μž…λ‹ˆλ‹€. "도ꡬ > μ˜΅μ…˜ > ν”„λ‘œμ νŠΈ 및 μ†”λ£¨μ…˜ > μ›Ή ν”„λ‘œμ νŠΈ > 둜컬 Application Insights λΉ„ν™œμ„±ν™”..."κ°€ μ„ νƒλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. launchSettings.jsonμ—λŠ” "ASPNETCORE_preventHostingStartup": "True"κ°€ μžˆμŠ΅λ‹ˆλ‹€. μ—¬μ „νžˆ 좜λ ₯에 Application Insightsκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€...

@RodBarnes μ—¬κΈ° 동일

λ‹€μŒμ„ μˆ˜ν–‰ν•˜μ—¬ ν”ŒλŸ¬κ·Έλ₯Ό λ½‘μ•˜μŠ΅λ‹ˆλ‹€.

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
#if !DEBUG
        .UseApplicationInsights()
#endif
        .UseStartup<Startup>();

Program.csμ—μ„œ

자, λ§ˆμΉ¨λ‚΄ ASP.NET Core 2.1μ—μ„œ 디버그 μŠ€νŠΈλ¦Όμ„ μΉ¨λ¬΅μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

if (_env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
    TelemetryConfiguration.Active.DisableTelemetry = true;
    TelemetryDebugWriter.IsTracingDisabled = true;
}

IsTracingDisabledκ°€ ν•΅μ‹¬μ΄μ—ˆμ§€λ§Œ 쒋은 츑정을 μœ„ν•΄ DisableTelemetry에 λ‚¨κ²¨λ‘μ—ˆμœΌλ©° λ™μΌν•œ μ†”λ£¨μ…˜μ—μ„œ .NET Framework 및 .NET Core ν”„λ‘œμ νŠΈ κ°„μ˜ μ°Έμ‘°λ₯Ό 검색할 λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

f2calv 덕뢄에 μ½”λ“œκ°€ ASP.NET Core 2.2μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

"Asp.Net Core μ›Ή ν”„λ‘œμ νŠΈμ— λŒ€ν•œ 둜컬 Application Insights λΉ„ν™œμ„±ν™”"λŠ” VS 15.9.5의 AI에 영ν–₯을 주지 μ•ŠμœΌλ©° TelemetryConfiguration.Active.DisableTelemetry λ₯Ό μ„€μ •ν•˜κ±°λ‚˜ ν™˜κ²½ λ³€μˆ˜ ASPNETCORE_preventHostingStartup λ₯Ό μ„€μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. (그리고 VS λ‹€μ‹œ μ‹œμž‘). λ‚˜λŠ” μ—¬μ „νžˆ 좜λ ₯μ—μ„œ β€‹β€‹λ‘œκ·Έλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

"Asp.Net Core μ›Ή ν”„λ‘œμ νŠΈμ— λŒ€ν•œ 둜컬 Application Insights λΉ„ν™œμ„±ν™”"λŠ” VS 15.9.5의 AI에 영ν–₯을 주지 μ•ŠμœΌλ©° TelemetryConfiguration.Active.DisableTelemetry λ₯Ό μ„€μ •ν•˜κ±°λ‚˜ ν™˜κ²½ λ³€μˆ˜ ASPNETCORE_preventHostingStartup λ₯Ό μ„€μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. (그리고 VS λ‹€μ‹œ μ‹œμž‘). λ‚˜λŠ” μ—¬μ „νžˆ 좜λ ₯μ—μ„œ β€‹β€‹λ‘œκ·Έλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ™μΌν•œ 문제, Disable local Application Insights for Asp.Net Core μ›Ή ν”„λ‘œμ νŠΈλŠ” VS 15.9.4 및 .NET Core SDK 버전 2.1.502μ—μ„œ 아무 μž‘μ—…λ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@ghosttie κ°€ μ°Έμ‘°ν•œ μŠ€λ ˆλ“œμ˜ 맨 μ•„λž˜μ—λŠ” 곡식 λ¬Έμ„œκ°€ μžˆμŠ΅λ‹ˆλ‹€. https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core#disable - 원격 μΈ‘μ • - λ™μ μœΌλ‘œ

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰