The .NET News Daily Issue #49

Feel like sharing?

:root {–wt-primary-color: #030712;–wt-text-on-primary-color: #F9FAFB;–wt-secondary-color: #F9FAFB;–wt-text-on-secondary-color: #030712;–wt-tertiary-color: #FFFFFF;–wt-text-on-tertiary-color: #222222;–wt-background-color: #F9FAFB;–wt-text-on-background-color: #030712;–wt-subscribe-background-color: #FFFFFF;–wt-text-on-subscribe-background-color: #030712;–wt-header-font: “Poppins”, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,”Helvetica Neue”, Arial, “Noto Sans”, sans-serif, “Apple Color Emoji”, “Segoe UI Emoji”, “Segoe UI Symbol”, “Noto Color Emoji”;–wt-body-font: “Poppins”, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, “Helvetica Neue”, Arial, “Noto Sans”, sans-serif, “Apple Color Emoji”, “Segoe UI Emoji”, “Segoe UI Symbol”, “Noto Color Emoji”;–wt-button-font: “Poppins”, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, “Helvetica Neue”, Arial, “Noto Sans”, sans-serif, “Apple Color Emoji”, “Segoe UI Emoji”, “Segoe UI Symbol”, “Noto Color Emoji”;–wt-border-radius: 8px}.bg-wt-primary { background-color: var(–wt-primary-color); }.text-wt-primary { color: var(–wt-primary-color); }.border-wt-primary { border-color: var(–wt-primary-color); }.bg-wt-text-on-primary { background-color: var(–wt-text-on-primary-color); }.text-wt-text-on-primary { color: var(–wt-text-on-primary-color); }.border-wt-text-on-primary { border-color: var(–wt-text-on-primary-color); }.bg-wt-secondary { background-color: var(–wt-secondary-color); }.text-wt-secondary { color: var(–wt-secondary-color); }.border-wt-secondary { border-color: var(–wt-secondary-color); }.bg-wt-text-on-secondary { background-color: var(–wt-text-on-secondary-color); }.text-wt-text-on-secondary { color: var(–wt-text-on-secondary-color); }.border-wt-text-on-secondary { border-color: var(–wt-text-on-secondary-color); }.bg-wt-tertiary { background-color: var(–wt-tertiary-color); }.text-wt-tertiary { color: var(–wt-tertiary-color); }.border-wt-tertiary { border-color: var(–wt-tertiary-color); }.bg-wt-text-on-tertiary { background-color: var(–wt-text-on-tertiary-color); }.text-wt-text-on-tertiary { color: var(–wt-text-on-tertiary-color); }.border-wt-text-on-tertiary { border-color: var(–wt-text-on-tertiary-color); }.bg-wt-background { background-color: var(–wt-background-color); }.text-wt-background { color: var(–wt-background-color); }.border-wt-background { border-color: var(–wt-background-color); }.bg-wt-text-on-background { background-color: var(–wt-text-on-background-color); }.text-wt-text-on-background { color: var(–wt-text-on-background-color); }.border-wt-text-on-background { border-color: var(–wt-text-on-background-color); }.bg-wt-subscribe-background { background-color: var(–wt-subscribe-background-color); }.text-wt-subscribe-background { color: var(–wt-subscribe-background-color); }.border-wt-subscribe-background { border-color: var(–wt-subscribe-background-color); }.bg-wt-text-on-subscribe-background { background-color: var(–wt-text-on-subscribe-background-color); }.text-wt-text-on-subscribe-background { color: var(–wt-text-on-subscribe-background-color); }.border-wt-text-on-subscribe-background { border-color: var(–wt-text-on-subscribe-background-color); }.rounded-wt { border-radius: var(–wt-border-radius); }.wt-header-font { font-family: var(–wt-header-font); }.wt-body-font { font-family: var(–wt-body-font); }.wt-button-font { font-family: var(–wt-button-font); }input:focus { –tw-ring-color: transparent !important; }li a { word-break: break-word; }@media only screen and (max-width:667px) {.mob-stack {display: block !important;width: 100% !important;}.mob-w-full {width: 100% !important;}}@font-face {font-family: ‘Roboto’;font-style: normal;font-weight: 400;src: url(‘https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2’) format(‘woff2’);}@font-face {font-family: ‘Roboto’;font-style: normal;font-weight: 700;src: url(‘https://fonts.gstatic.com/s/roboto/v29/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2’) format(‘woff2’);}@font-face {font-family: ‘Roboto’;font-style: italic;font-weight: 400;src: url(‘https://fonts.gstatic.com/s/roboto/v29/KFOkCnqEu92Fr1Mu51xIIzIXKMny.woff2’) format(‘woff2’);}@font-face {font-family: ‘Roboto’;font-style: italic;font-weight: 700;src: url(‘https://fonts.gstatic.com/s/roboto/v29/KFOjCnqEu92Fr1Mu51TzBic6CsTYl4BO.woff2’) format(‘woff2’);}@font-face {font-family: ‘Open Sans’;font-style: normal;font-weight: 400;src: url(‘https://fonts.gstatic.com/s/opensans/v28/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2’) format(‘woff2’);}@font-face {font-family: ‘Open Sans’;font-style: normal;font-weight: 700;src: url(‘https://fonts.gstatic.com/s/opensans/v28/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2’) format(‘woff2’);}@font-face {font-family: ‘Open Sans’;font-style: italic;font-weight: 400;src: url(‘https://fonts.gstatic.com/s/opensans/v28/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2’) format(‘woff2’);}@font-face {font-family: ‘Open Sans’;font-style: italic;font-weight: 700;src: url(‘https://fonts.gstatic.com/s/opensans/v28/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2’) format(‘woff2′);}.table-base, .table-c, .table-h { border: 1px solid #C0C0C0; }.table-c { padding:5px; background-color:#FFFFFF; }.table-c p { color: #2D2D2D; font-family:’Open Sans’,’Segoe UI’,’Apple SD Gothic Neo’,’Lucida Grande’,’Lucida Sans Unicode’,sans-serif !important; overflow-wrap: break-word; }.table-h { padding:5px; background-color:#F1F1F1; }.table-h p { color: #2A2A2A; font-family:’Open Sans’,’Segoe UI’,’Apple SD Gothic Neo’,’Lucida Grande’,’Lucida Sans Unicode’,sans-serif !important; overflow-wrap: break-word; }
.bh__byline_wrapper {font-size: .875rem;line-height: 1.25rem;vertical-align: middle;justify-content: space-between;display: block;}.bh__byline_social_wrapper {display: flex;margin-top: 0.5rem;align-items: center;}.bh__byline_social_wrapper > * + * {margin-left: 1rem;}@media (min-width: 768px) {.bh__byline_wrapper {display: flex;}.bh__byline_social_wrapper {margin-top: 0rem;}}
p span[style*=”font-size”] { line-height: 1.6; }

Friday’s arrived, and it’s time to finish strong! Today’s edition isn’t just another newsletter—it’s your toolbox for the weekend, full of .NET goodness that could inspire your next great idea. Don’t leave these gems behind—scroll and discover what you can take into the weekend.

Today’s Articles

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

.generic-embed–root {padding: 10px 19px 10px 19px;}.generic-embed–root:hover {filter: brightness(90%)}.generic-embed–root a {text-decoration: none !important;}.generic-embed {background-color: #FFFFFF;border-radius: 10px;border: solid 2px #F1F1F1;}.generic-embed–wrapper-reverse {min-height: 75px;border-collapse: collapse;width: 100%;display: flex;}.generic-embed–title {color: #2D2D2D;font-size: 15px;font-weight: bold;padding-bottom: 8px;}.generic-embed–description {color: #2D2D2D;font-size: 15px;padding-bottom: 8px;}.generic-embed–link {color: #3a9bf3;font-size: 12px;word-break: break-word;}@media only screen and (max-width: 640px) {.generic-embed–image {width: 100% !important;padding: 0px 0px 12px 0px !important;}.generic-embed–wrapper-reverse {flex-direction: column-reverse;}}

Subscribe to the .NET Newsletter and never miss another awesome article.

Leave a Reply

Your email address will not be published. Required fields are marked *