[{"data":1,"prerenderedAt":852},["Reactive",2],{"global":3,"blok-/blog/fra-dotnet-framework-til-moderne-dotnet/":439,"story:/blog/fra-dotnet-framework-til-moderne-dotnet/":661},{"story":4,"cv":436,"rels":437,"links":438},{"name":5,"created_at":6,"published_at":7,"updated_at":8,"id":9,"uuid":10,"content":11,"slug":51,"full_slug":51,"sort_by_date":429,"position":430,"tag_list":431,"is_startpage":29,"parent_id":429,"meta_data":429,"group_id":432,"first_published_at":433,"release_id":429,"lang":434,"path":429,"alternates":435,"default_full_slug":429,"translated_slugs":429},"Site settings","2023-02-07T07:13:48.809Z","2026-08-26T07:42:25.623Z","2026-08-26T07:42:25.641Z",258215571,"1fff830c-f3f1-49a9-84f3-94bfd7097497",{"zip":12,"_uid":13,"city":14,"email":15,"phone":16,"Header":17,"popups":18,"address":44,"favicon":45,"siteUrl":49,"siteName":50,"component":51,"redirects":52,"logoFooter":171,"logoHeader":174,"navigation":177,"navigationCta":226,"socialMediaLinks":233,"departmentsNavigation":255,"footerNavigation1Items":327,"footerNavigation1Title":363,"footerNavigation2Items":364,"footerNavigation2Title":393,"footerNavigation3Items":394,"footerNavigation3Title":428},"7100","505975f0-8676-4e20-86ef-d9d3a51f31ae","Vejle","info@uptimedevelopment.dk","+45 70 20 69 59",[],[19],{"Text":20,"_uid":21,"Image":22,"Title":30,"component":31,"SendMessageText":32,"delay_in_seconds":33,"ContactButtonText":34,"FormBackgroundColor":35,"contact_button_link":36,"initial_button_text":42,"ContactBackgroundColor":43},"Ring på 70 20 69 59 eller udfyld kontaktinformationer her.","1245454c-96c2-4dff-a565-e58677753fa1",{"id":23,"alt":24,"name":25,"focus":25,"title":25,"source":25,"filename":26,"copyright":25,"fieldtype":27,"meta_data":28,"is_external_url":29},20856972,"dan-olesen","","https://a.storyblok.com/f/195037/1667x1667/180b821d9c/dan-olesen.jpg","asset",{"alt":24,"title":25,"source":25,"copyright":25},false,"Har du brug for hjælp til et udviklingsprojekt?","ContactPopUp","Kontakt mig","2","Kontakt","#F4F4F4",{"id":37,"url":25,"anchor":38,"linktype":39,"fieldtype":40,"cached_url":41},"4ff97ed1-78a2-4bd1-b221-b514f8b82c95","contact","story","multilink","kontakt","Kontakt os →","#DA001B","Innovations Allé 7",{"id":46,"alt":25,"name":25,"focus":25,"title":25,"source":25,"filename":47,"copyright":25,"fieldtype":27,"meta_data":48,"is_external_url":29},10316658,"https://a.storyblok.com/f/195037/150x150/4b272b1db6/favicon.png",[],"https://www.uptimedevelopment.dk","Uptime Development A/S","global",{"tbody":53,"thead":162,"fieldtype":170},[54,65,74,83,92,101,110,117,126,135,144,153],{"_uid":55,"body":56,"component":64},"c92e0f8c-ccfa-4b4a-aef4-ecfeea166abd",[57,61],{"_uid":58,"value":59,"component":60},"9f3d71af-a1ab-42cb-8bbe-b6b246e8bd15","/5-node-web-frameworks-du-skal-holde-oeje-med","_table_col",{"_uid":62,"value":63,"component":60},"505d5dc4-c959-43ce-a11a-f7dc7492de9a","/blog/5-node-web-frameworks-du-skal-holde-oeje-med","_table_row",{"_uid":66,"body":67,"component":64},"202ba5f7-7db3-4a2f-8894-111eafd5ee97",[68,71],{"_uid":69,"value":70,"component":60},"e4e8322c-5f5f-4da8-8f8a-157a84b19d27","/bliv-klogere-paa-scrum",{"_uid":72,"value":73,"component":60},"4660cd33-0b25-480c-aca7-e5037051309c","/blog/bliv-klogere-paa-scrum",{"_uid":75,"body":76,"component":64},"4de12db7-6edd-46d7-be71-64d28ae44035",[77,80],{"_uid":78,"value":79,"component":60},"1496bafd-202a-4af6-b6ef-317a8d487c47","/react-og-asp-net-core-er-fundamentet-i-nyt-socialt-medie-til-musikbranchen",{"_uid":81,"value":82,"component":60},"62863bdd-2fe9-4f03-aee3-0ff5e0625d09","/blog/react-og-asp-net-core-er-fundamentet-i-nyt-socialt-medie-til-musikbranchen",{"_uid":84,"body":85,"component":64},"bf41c033-b58f-4070-8f2b-cd7778d64c98",[86,89],{"_uid":87,"value":88,"component":60},"e384c282-dcdc-44e8-afad-0b666e5dabe1","/react-og-node-tager-foerertroejen-i-international-undersoegelse",{"_uid":90,"value":91,"component":60},"506f6532-1d78-40ca-977b-d3b93035d7e8","/blog/react-og-node-tager-foerertroejen-i-international-undersoegelse",{"_uid":93,"body":94,"component":64},"7cd64b27-b865-40f7-845b-da43b8a139d2",[95,98],{"_uid":96,"value":97,"component":60},"88c04135-2ff1-4bee-8838-812e757ef1fe","/saadan-bruger-du-dit-it-budget-smartest",{"_uid":99,"value":100,"component":60},"a48d1db0-66b4-40b8-b870-a82cbdf47598","/blog/saadan-bruger-du-dit-it-budget-smartest",{"_uid":102,"body":103,"component":64},"044027f2-d5f6-4c23-a09b-4cc455771919",[104,107],{"_uid":105,"value":106,"component":60},"62655203-33e9-4d60-a72e-afa45e77e65e","/stor-undersoegelse-nye-spillere-stikker-hovedet-frem-i-javascript-verdenen",{"_uid":108,"value":109,"component":60},"e8c77406-3f5b-4bbf-8bc4-c5535d274e7e","/blog/stor-undersoegelse-nye-spillere-stikker-hovedet-frem-i-javascript-verdenen",{"_uid":111,"body":112,"component":64},"c721f17d-bf34-49d9-b2a8-939763f73bc9",[113,115],{"_uid":114,"value":97,"component":60},"2367fa98-6859-4b02-a8a3-625b732bbf20",{"_uid":116,"value":100,"component":60},"15648518-7732-4a0d-ae37-691583d3a7e8",{"_uid":118,"body":119,"component":64},"059aa2e9-f281-4d83-a3a5-df6805928abe",[120,123],{"_uid":121,"value":122,"component":60},"4c0e463e-92d3-4ed9-8fe2-beff572dcd43","/medarbejderstories/*",{"_uid":124,"value":125,"component":60},"0632bede-a443-445d-9d79-367922fd1487","/medarbejderhistorier/*",{"_uid":127,"body":128,"component":64},"28dac8de-7285-4983-8419-e2fb013e492d",[129,132],{"_uid":130,"value":131,"component":60},"c367c8f3-1475-4222-b727-395382a3c7d7","/reference/aubo-production\n",{"_uid":133,"value":134,"component":60},"c29ce268-7cd5-4f59-aaee-2b49b224bb7e","/reference/aubo",{"_uid":136,"body":137,"component":64},"761b6c9c-7094-4233-b2c3-cfbaaa1d6fb6",[138,141],{"_uid":139,"value":140,"component":60},"ce1b7aa4-578f-4727-99cb-89103109dcfc","/kompetencer/webudvikling/storyblok-udvikling-uptime-development-a-s",{"_uid":142,"value":143,"component":60},"dcfb210b-241e-4759-8f6e-6badcdc5fede","/kompetencer/webudvikling/storyblok-udvikling/",{"_uid":145,"body":146,"component":64},"e3790927-d7f4-4580-bfe7-1f3e860e6f09",[147,150],{"_uid":148,"value":149,"component":60},"087c8f63-ca41-40f0-8eab-3c24a7c32be1","/kompetencer/webudvikling/statamic-udvikling-uptime-development-a-s",{"_uid":151,"value":152,"component":60},"a6e04551-4242-4b3c-8351-2d33cf7b5478","/kompetencer/webudvikling/statamic-udvikling/",{"_uid":154,"body":155,"component":64},"6036c6fb-da83-4ee7-9036-d4b7b8217445",[156,159],{"_uid":157,"value":158,"component":60},"89cfd0a4-712b-466b-a2ea-4b634b19f38d","/kompetencer/webudvikling/angular-uptime-development-a-s",{"_uid":160,"value":161,"component":60},"d440684d-1348-409b-9932-62b5ecb50bab","/kompetencer/webudvikling/angular-udvikling/",[163,167],{"_uid":164,"value":165,"component":166},"b11d708a-a114-493c-aa81-3d2924f7da6c","From","_table_head",{"_uid":168,"value":169,"component":166},"1b97c57f-81ff-4d37-997d-52ba62d31346","To","table",{"id":172,"alt":25,"name":25,"focus":25,"title":25,"filename":173,"copyright":25,"fieldtype":27,"is_external_url":29},7117671,"https://a.storyblok.com/f/195037/x/33240b4ce2/uptime-logo-white.svg",{"id":175,"alt":25,"name":25,"focus":25,"title":25,"filename":176,"copyright":25,"fieldtype":27,"is_external_url":29},7117602,"https://a.storyblok.com/f/195037/x/914b4393c3/uptime-logo.svg",[178,186,192,198,204,210,216,222],{"Page":179,"_uid":182,"Title":183,"component":184,"SubNavigationItems":185},{"id":180,"url":25,"linktype":39,"fieldtype":40,"cached_url":181},"4603843a-bc48-4f87-a65b-dca5a7f0ddca","saadan-arbejder-vi","db7b83c9-a943-46d1-b9b7-8cee9eac6a5a","Sådan arbejder vi","BlockNavigationItem",[],{"Page":187,"_uid":190,"Title":191,"component":184},{"id":188,"url":25,"linktype":39,"fieldtype":40,"cached_url":189},"e63056b2-cadd-427b-9088-6b960adcdf71","kompetencer","7fc4feed-51be-4472-9f20-e93bdc9b1df4","Ydelser",{"Page":193,"_uid":196,"Title":197,"component":184},{"id":194,"url":25,"linktype":39,"fieldtype":40,"cached_url":195},"269ceb67-9543-4318-b65a-4bba788d8a12","referencer","57d60acc-cdb3-4755-98b5-532d3df98cd3","Cases",{"Page":199,"_uid":202,"Title":203,"component":184},{"id":200,"url":25,"linktype":39,"fieldtype":40,"cached_url":201},"7f3f0d5b-f9df-4a44-a3c0-44db30130deb","karriere","e8c0946f-837c-4889-a37d-7e0b1451eab9","Karriere",{"Page":205,"_uid":208,"Title":209,"component":184},{"id":206,"url":25,"linktype":39,"fieldtype":40,"cached_url":207},"e5c914f8-1576-467b-85b9-a9c7ad2b2179","om-os","730ba654-4727-46a6-8001-e48cdb7d6a27","Om os",{"Page":211,"_uid":214,"Title":215,"component":184},{"id":212,"url":25,"linktype":39,"fieldtype":40,"cached_url":213},"0089734a-6d00-4a89-ad6a-adb7f249bf26","brancher/","db7ddf68-d5f3-4f01-b831-38fc8b0f7c86","Brancher",{"Page":217,"_uid":220,"Title":221,"component":184},{"id":218,"url":25,"linktype":39,"fieldtype":40,"cached_url":219},"6293995f-67ea-4935-b00d-d6b10596af3d","blog/","f198c788-9583-4395-9cec-35a920bc2b20","Artikler",{"Page":223,"_uid":224,"Title":225,"component":184},{"id":37,"url":25,"linktype":39,"fieldtype":40,"cached_url":41},"6d562fa7-9764-4c1d-8999-0af9d3d7917b","Kontakt os",[227],{"Page":228,"_uid":229,"Title":230,"hidden":231,"component":184,"SubNavigationItems":232},{"id":37,"url":25,"anchor":38,"linktype":39,"fieldtype":40,"cached_url":41},"977f0c7f-5abd-40a2-b9da-a6d72127eee2","Book teknisk sparring",true,[],[234,246],{"_uid":235,"link":236,"Asset":239,"maxWidth":244,"component":245,"imageSize":25,"maxHeight":244},"b3cdc7fd-ca29-49f1-8acc-1685d05d79ca",{"id":25,"url":237,"linktype":238,"fieldtype":40,"cached_url":237},"https://www.facebook.com/uptimedevelopmentdk","url",{"id":240,"alt":241,"name":25,"focus":25,"title":25,"source":25,"filename":242,"copyright":25,"fieldtype":27,"meta_data":243,"is_external_url":29},11203649,"Facebook SoMe ikon","https://a.storyblok.com/f/195037/768x768/9354be154c/facebook-logo.png",[],"32","BlockImage",{"_uid":247,"link":248,"Asset":250,"maxWidth":244,"component":245,"imageSize":25,"maxHeight":244},"61696a88-1dac-473b-9440-acc6e0212805",{"id":25,"url":249,"linktype":238,"fieldtype":40,"cached_url":249},"https://www.linkedin.com/company/uptime-development/",{"id":251,"alt":252,"name":25,"focus":25,"title":25,"source":25,"filename":253,"copyright":25,"fieldtype":27,"meta_data":254,"is_external_url":29},11203650,"LinkedIn SoMe ikon","https://a.storyblok.com/f/195037/640x640/e8f936cc4f/linkedin-logo.png",[],{"tbody":256,"thead":317,"fieldtype":170},[257,269,281,293,305],{"_uid":258,"body":259,"component":64},"85922153-cdda-4388-8701-12db416076db",[260,263,266],{"_uid":261,"value":262,"component":60},"558d6047-1c7a-4de1-8821-566fb69a5be5","Danmark",{"_uid":264,"value":265,"component":60},"2430cfc3-688d-4620-85e0-26e92d311221","dk",{"_uid":267,"value":268,"component":60},"baccd3ac-f5cc-4b08-8882-1c1b0293e5ef","/",{"_uid":270,"body":271,"component":64},"76842066-ff5f-4ab3-b31c-f8bbedbdbcec",[272,275,278],{"_uid":273,"value":274,"component":60},"de00b93e-a532-4fce-924e-216e9f9375a9","Estland",{"_uid":276,"value":277,"component":60},"71d47cad-2ff0-443a-b055-f610d6ba13a7","ee",{"_uid":279,"value":280,"component":60},"1fa86fbd-6d93-44fe-90bf-08407bbaa6bb","https://uptime.ee/",{"_uid":282,"body":283,"component":64},"159ec48f-a015-4a88-963b-6014e151b1f8",[284,287,290],{"_uid":285,"value":286,"component":60},"364f3eed-53ed-434a-ae4a-848e8fc1e160","Norge",{"_uid":288,"value":289,"component":60},"f596476e-b013-4573-81a7-92acfae94a78","no",{"_uid":291,"value":292,"component":60},"ff7c0ae4-ccfa-4189-9caf-3a6873edb06a","https://uptimeconsulting.no/",{"_uid":294,"body":295,"component":64},"14bb9056-2451-4699-aed4-c95d8e5c1bda",[296,299,302],{"_uid":297,"value":298,"component":60},"3fedefa7-2620-42ce-afc2-fd9804a66037","Polen",{"_uid":300,"value":301,"component":60},"1572da6c-45ef-43cb-b24d-7eecd428041d","pl",{"_uid":303,"value":304,"component":60},"ff58fec4-f6f5-443a-9540-c069a085163e","https://www.uptime.eu/contact/",{"_uid":306,"body":307,"component":64},"1b772d37-47ab-448c-b84f-ab711921f593",[308,311,314],{"_uid":309,"value":310,"component":60},"38cf0e30-3cb4-4d84-9407-9ab206dad496","Schweiz",{"_uid":312,"value":313,"component":60},"989f321a-6c87-4739-91c4-e4068cce4ca7","ch",{"_uid":315,"value":316,"component":60},"2757315c-f21c-48a6-850b-3ae096ade15b","https://uptime.swiss/",[318,321,324],{"_uid":319,"value":320,"component":166},"aa4c1941-ee16-4dbe-8574-39185cca54f7","Navn",{"_uid":322,"value":323,"component":166},"f62c0bf1-738b-4f15-9961-317c58196f24","Landekode",{"_uid":325,"value":326,"component":166},"55b0e09b-428c-4b7f-a4cb-439d6564a8a7","URL",[328,335,342,349,356],{"Page":329,"_uid":332,"Title":333,"component":184,"SubNavigationItems":334},{"id":330,"url":25,"linktype":39,"fieldtype":40,"cached_url":331},"b49e0691-5fbe-4486-86bd-6ef6d3028374","kompetencer/app-udvikling/","36981831-3ff2-4a2a-a8bb-81046de11517","App udvikling",[],{"Page":336,"_uid":339,"Title":340,"component":184,"SubNavigationItems":341},{"id":337,"url":25,"linktype":39,"fieldtype":40,"cached_url":338},"1099935e-614b-4892-b08b-f83a01c3de2e","kompetencer/softwareintegration","9049940a-7bf4-493f-9ff0-25cad876d914","Software integration",[],{"Page":343,"_uid":346,"Title":347,"component":184,"SubNavigationItems":348},{"id":344,"url":25,"linktype":39,"fieldtype":40,"cached_url":345},"84882505-8312-4d6a-9a49-f3d175e9c1dc","kompetencer/webudvikling/","dfd91dca-8d29-4be0-b3ad-7c06fde2ccd2","Webudvikling",[],{"Page":350,"_uid":353,"Title":354,"component":184,"SubNavigationItems":355},{"id":351,"url":25,"linktype":39,"fieldtype":40,"cached_url":352},"1d81ee31-5b13-44b8-99a4-42380b5d8f2f","kompetencer/programmering/","c4769577-4c02-4650-9f21-40949765ee88","Programmering",[],{"Page":357,"_uid":360,"Title":361,"component":184,"SubNavigationItems":362},{"id":358,"url":25,"linktype":39,"fieldtype":40,"cached_url":359},"67360096-cd53-4d07-926f-bf4ff64d751e","kompetencer/it-udvikling","e1be4934-0370-43a2-86d9-fa0c92e73ade","IT udvikling",[],"Kompetencer",[365,370,374,378,383,387],{"Page":366,"_uid":368,"Title":274,"component":184,"SubNavigationItems":369},{"id":25,"url":367,"linktype":238,"fieldtype":40,"cached_url":367},"https://www.uptime.ee/","fbc0cbbe-6b90-4783-9e84-5de43cb588a8",[],{"Page":371,"_uid":372,"Title":286,"component":184,"SubNavigationItems":373},{"id":25,"url":292,"linktype":238,"fieldtype":40,"cached_url":292},"736cc7d8-f6f4-4e7a-9083-ca6c6d5e7f73",[],{"Page":375,"_uid":376,"Title":298,"component":184,"SubNavigationItems":377},{"id":25,"url":304,"linktype":238,"fieldtype":40,"cached_url":304},"ca6a8287-4dfa-497e-8277-03421745a9e4",[],{"Page":379,"_uid":381,"Title":262,"component":184,"SubNavigationItems":382},{"id":25,"url":380,"linktype":238,"fieldtype":40,"cached_url":380},"https://www.uptimedevelopment.dk/","f3027c1d-72ff-4bd5-af05-8321b421d21c",[],{"Page":384,"_uid":385,"Title":310,"component":184,"SubNavigationItems":386},{"id":25,"url":316,"linktype":238,"fieldtype":40,"cached_url":316},"b39aaa49-a7fd-46df-8196-dc48f3e678d8",[],{"Page":388,"_uid":390,"Title":391,"component":184,"SubNavigationItems":392},{"id":25,"url":389,"linktype":238,"fieldtype":40,"cached_url":389},"https://uptime.ee","c4551692-9846-4f9e-a7da-acb980b8e09b","Spanien",[],"Kontorer",[395,399,403,407,414,421],{"Page":396,"_uid":397,"Title":209,"component":184,"SubNavigationItems":398},{"id":206,"url":25,"linktype":39,"fieldtype":40,"cached_url":207},"8081492e-32ad-4542-8618-32af1e2c60f2",[],{"Page":400,"_uid":401,"Title":203,"component":184,"SubNavigationItems":402},{"id":200,"url":25,"linktype":39,"fieldtype":40,"cached_url":201},"88b8096f-5f6a-4110-a4eb-7d7040e728dc",[],{"Page":404,"_uid":405,"Title":34,"component":184,"SubNavigationItems":406},{"id":37,"url":25,"linktype":39,"fieldtype":40,"cached_url":41},"4a05dc72-f8ea-45ac-90e9-ad655af09a47",[],{"Page":408,"_uid":411,"Title":412,"component":184,"SubNavigationItems":413},{"id":25,"url":409,"target":410,"linktype":27,"fieldtype":40,"cached_url":409},"https://a.storyblok.com/f/195037/x/82776e3a7a/uptime-leveringsbetingelser-2023.pdf","_blank","1fe2dd54-6178-4af7-a1e8-412de06356af","Leveringsbetingelser",[],{"Page":415,"_uid":418,"Title":419,"component":184,"SubNavigationItems":420},{"id":416,"url":25,"linktype":39,"fieldtype":40,"cached_url":417},"610b4b5f-d838-489b-866e-2d197a997335","cookie-policy","329dbf5c-076b-407e-a7f4-623405f9507e","Privatlivs- & Cookiepolitik",[],{"Page":422,"_uid":425,"Title":426,"component":184,"SubNavigationItems":427},{"id":423,"url":25,"linktype":39,"fieldtype":40,"cached_url":424},"ca01e7ae-d95f-4d27-b6d1-181c32833d46","ski-leverandor","022b37e6-f46c-4191-9606-7d27a76ea669","SKI Leverandør",[],"Information ",null,110,[],"5b70cd24-4539-4bea-bba4-84fad44f9486","2023-02-07T08:01:17.912Z","default",[],1792051213,[],[],{"_uid":440,"body":441,"image":645,"component":647,"breadcrumbs":648,"shortDescription":660},"77dca364-fae9-4a36-9983-6edb76ab2249",[442,462,615,638],{"_uid":443,"content":444,"component":455,"BackgroundImage":456,"gradientOverlay":461},"d7591bb4-96df-468c-8a5f-7380e06d3c2f",[445],{"_uid":446,"Blocks":447,"component":454},"f934311c-82dd-4fd7-a60a-82fc1cc2c93c",[448],{"_uid":449,"color":450,"title":451,"fontSize":452,"component":453,"isPrimary":231},"70d11558-14fb-42fc-9119-899b3b17f253","#FFFFFF","Fra .NET Framework til moderne .NET: Hvornår giver det mening?","64","BlockTitle","BlockSection","BlockHeroWithBackground",{"id":457,"alt":458,"name":25,"focus":25,"title":25,"source":25,"filename":459,"copyright":25,"fieldtype":27,"meta_data":460,"is_external_url":29},20914738,".NET-kode","https://a.storyblok.com/f/195037/2500x1875/cdd1a6b0ff/aspdotnet-code.jpg",[],"left-to-right",{"_uid":463,"Blocks":464,"component":454},"2c5ba298-48ba-449b-b192-dd7341440f68",[465],{"_uid":466,"blocks":467,"maxWidth":613,"component":614},"9b73f3e5-d3b2-423d-91bd-4069554a89cf",[468,538,552],{"_uid":469,"Content":470,"component":537},"5b0f29b5-0d3e-480f-8626-b41f13b61571",{"type":471,"content":472},"doc",[473,479,483,490,494,498,503,507,511,516,520,524,529,533],{"type":474,"content":475},"paragraph",[476],{"text":477,"type":478},"Mange virksomheder har stabile og forretningskritiske løsninger bygget på .NET Framework. De virker hver dag og kan have gjort det i ti eller femten år. Derfor er \"det er gammel teknologi\" ikke i sig selv et argument for at skrive dem om.","text",{"type":474,"content":480},[481],{"text":482,"type":478},"Men der kommer et tidspunkt, hvor teknisk gæld begynder at koste: nye integrationer bliver sværere, deployment er tungt, biblioteker kan ikke opgraderes, eller udviklerne bruger stadig mere tid på at arbejde rundt om platformen. Her kan en modernisering være en god investering – hvis den angribes trinvis.",{"type":484,"attrs":485,"content":487},"heading",{"level":486},2,[488],{"text":489,"type":478},"Modernisér af en forretningsmæssig grund",{"type":474,"content":491},[492],{"text":493,"type":478},"En migration bør have et tydeligt mål. Det kan være hurtigere releases, lettere rekruttering, lavere driftsrisiko, bedre understøttelse af cloud og containere eller muligheden for at bruge nyere biblioteker og integrationer.",{"type":474,"content":495},[496],{"text":497,"type":478},"Hvis systemet derimod er stabilt, sjældent ændres og ikke står i vejen for forretningen, kan målrettet vedligeholdelse være en bedre investering end en stor teknisk modernisering.",{"type":484,"attrs":499,"content":500},{"level":486},[501],{"text":502,"type":478},"Hvor sidder de reelle bindinger?",{"type":474,"content":504},[505],{"text":506,"type":478},"Ældre .NET-løsninger er ofte tæt koblet til mere end selve frameworket. IIS, Windows Services, Web Forms, WCF, COM-komponenter, gamle NuGet-pakker, filshares eller særlige databasebiblioteker kan være de dele, der bestemmer migrationsvejen.",{"type":474,"content":508},[509],{"text":510,"type":478},"Derfor starter vi med et dependency map: Hvilke applikationer findes? Hvad kalder de? Hvem kalder dem? Hvilke komponenter kan flyttes isoleret, og hvilke er bundet tæt sammen?",{"type":484,"attrs":512,"content":513},{"level":486},[514],{"text":515,"type":478},"Få build og deployment under kontrol først",{"type":474,"content":517},[518],{"text":519,"type":478},"Hvis kun én bestemt udviklermaskine kan bygge løsningen, er det et større problem end versionsnummeret på .NET. Før en migration bør build kunne reproduceres, kildekoden være komplet, og deployment være forstået.",{"type":474,"content":521},[522],{"text":523,"type":478},"Det samme gælder databaser, konfiguration og secrets. En modernisering bliver langt mere forudsigelig, når teamet først kan bygge og deploye den eksisterende løsning sikkert.",{"type":484,"attrs":525,"content":526},{"level":486},[527],{"text":528,"type":478},"Tests er sikkerhedsnettet under migrationen",{"type":474,"content":530},[531],{"text":532,"type":478},"Man behøver ikke 90 procent testdækning før man går i gang. Men de vigtigste forretningsflows bør være beskyttet. Det kan være ordreoprettelse, prisberegning, login, fakturering eller kritiske integrationer.",{"type":474,"content":534},[535],{"text":536,"type":478},"Karakteriseringstests er særligt nyttige på legacy-systemer: De dokumenterer, hvordan løsningen faktisk opfører sig i dag, også når adfærden ikke er elegant. Dermed kan man ændre implementationen uden uforvarende at ændre forretningen.","BlockText",{"_uid":539,"Blocks":540,"component":550,"justifyContent":551},"visual-fra-dotnet-framework-til-moderne-dotnet",[541],{"_uid":542,"link":543,"Asset":544,"maxWidth":25,"component":245,"imageSize":549,"maxHeight":25},"visual-fra-dotnet-framework-til-moderne-dotnet-image",{"id":25,"url":25,"linktype":39,"fieldtype":40,"cached_url":25},{"id":545,"alt":546,"name":25,"focus":25,"title":25,"source":25,"filename":547,"copyright":25,"fieldtype":27,"meta_data":548,"is_external_url":29},116610469005631,"Uptime Development team","https://a.storyblok.com/f/195037/2500x1242/8892956c6d/11250-uptime-development-076-2.jpg",[],"contain","BlockSectionRow","center",{"_uid":553,"Content":554,"component":537},"5b0f29b5-0d3e-480f-8626-b41f13b61571-part2",{"type":471,"content":555},[556,561,565,569,574,578,582,587,591,596,600,605,609],{"type":484,"attrs":557,"content":558},{"level":486},[559],{"text":560,"type":478},"Undgå den store rewrite, hvis I kan",{"type":474,"content":562},[563],{"text":564,"type":478},"Det fristende projekt er ofte: Vi bygger hele systemet på ny og skifter på én bestemt dato. Risikoen er, at teamet skal genopdage mange års små forretningsregler, samtidig med at den gamle løsning stadig skal vedligeholdes.",{"type":474,"content":566},[567],{"text":568,"type":478},"En trinvis strategi er ofte stærkere. Nye API'er, services, baggrundsjobs eller afgrænsede moduler kan flyttes til moderne .NET ét ad gangen. Den gamle og nye verden kan leve side om side, mens risikoen reduceres.",{"type":484,"attrs":570,"content":571},{"level":486},[572],{"text":573,"type":478},"Modernisering betyder ikke automatisk microservices",{"type":474,"content":575},[576],{"text":577,"type":478},"At gå fra .NET Framework til moderne .NET kræver ikke, at en monolit samtidig bliver splittet i 30 services. Det introducerer nye driftsmæssige omkostninger og kan gøre en ellers enkel migration væsentligt større.",{"type":474,"content":579},[580],{"text":581,"type":478},"En velstruktureret modulær monolit på moderne .NET er for mange løsninger et glimrende mål. Arkitekturen bør vælges efter systemets reelle behov – ikke efter hvad der er moderne.",{"type":484,"attrs":583,"content":584},{"level":486},[585],{"text":586,"type":478},"Cloud er en mulighed, ikke målet",{"type":474,"content":588},[589],{"text":590,"type":478},"Moderne .NET gør Linux, containere og cloud-platforme lettere at bruge. Det kan give mere fleksibel drift og bedre automatisering. Men on-premise eller klassisk hosting kan stadig være det rigtige valg afhængigt af compliance, netværk og integrationer.",{"type":484,"attrs":592,"content":593},{"level":486},[594],{"text":595,"type":478},"En realistisk moderniseringsplan",{"type":474,"content":597},[598],{"text":599,"type":478},"Vi deler typisk arbejdet i tre spor: først stabilitet og overblik, derefter tekniske forudsætninger som tests og CI/CD, og til sidst den trinvise flytning af komponenter. Hvert skridt bør efterlade systemet i en bedre og fortsat driftbar tilstand.",{"type":484,"attrs":601,"content":602},{"level":486},[603],{"text":604,"type":478},"Hvornår ville vi lade systemet være?",{"type":474,"content":606},[607],{"text":608,"type":478},"Hvis løsningen er stabil, sikker, billig at drive og næsten ikke ændres, kan den godt få lov at leve videre. Modernisering er mest værdifuld dér, hvor gammel teknologi faktisk begrænser ændringshastighed, sikkerhed eller forretning.",{"type":474,"content":610},[611],{"text":612,"type":478},"Uptime arbejder både med nye .NET-løsninger og med overtagelse og modernisering af eksisterende systemer. Det gør det muligt at forbedre løsningen uden at gøre en teknisk opgradering til et mål i sig selv.","900","BlockSectionCol",{"_uid":616,"Blocks":617,"component":454,"BackgroundImage":633,"backgroundColor":35,"spaceBetweenCols":635,"BackgroundImageFull":636},"takeaway-fra-dotnet-framework-til-moderne-dotnet",[618],{"_uid":619,"blocks":620,"spacing":25,"maxWidth":613,"component":614,"justifyContent":25},"takeaway-col-fra-dotnet-framework-til-moderne-dotnet",[621,625],{"_uid":622,"color":43,"title":623,"fontSize":244,"alignment":25,"component":453,"isPrimary":29,"fontWeight":624,"lineHeight":25,"mobileFontSize":25},"takeaway-title-fra-dotnet-framework-til-moderne-dotnet","Kort fortalt","700",{"_uid":626,"Content":627,"TextAlign":25,"component":537},"takeaway-text-fra-dotnet-framework-til-moderne-dotnet",{"type":471,"content":628},[629],{"type":474,"content":630},[631],{"text":632,"type":478},"Modernisering behøver ikke være en total rewrite. Start dér, hvor gammel .NET reelt begrænser sikkerhed, drift eller videreudvikling, og modernisér i kontrollerede trin.",{"id":429,"alt":429,"name":25,"focus":429,"title":429,"source":429,"filename":25,"copyright":429,"fieldtype":27,"meta_data":634},[],"normal",{"id":429,"alt":429,"name":25,"focus":429,"title":429,"source":429,"filename":25,"copyright":429,"fieldtype":27,"meta_data":637},[],{"_uid":639,"Blocks":640,"component":454,"backgroundColor":35},"cta-fra-dotnet-framework-til-moderne-dotnet",[641],{"_uid":642,"content":643,"component":644},"shared-fra-dotnet-framework-til-moderne-dotnet","94a45592-d5ea-4c41-bed9-cdd02d48327f","BlockShared",{"id":457,"alt":458,"name":25,"focus":25,"title":25,"source":25,"filename":459,"copyright":25,"fieldtype":27,"meta_data":646,"is_external_url":29},[],"Blog",[649,656],{"_uid":650,"link":651,"title":654,"component":655},"1c641d87-2681-5cc7-8eda-2526f8c9646b",{"id":652,"url":25,"linktype":39,"fieldtype":40,"cached_url":653},"c47b7c2f-d8bc-467a-b6a5-923c8be0ff3d","home","Softwareudvikling","Link",{"_uid":657,"link":658,"title":659,"component":655},"1462f8d1-c784-5ecc-0f87-5d0fc99ff4ab",{"id":218,"url":25,"linktype":39,"fieldtype":40,"cached_url":219},"Blog - Find nye nyheder om os her","Hvornår betaler det sig at flytte fra .NET Framework til moderne .NET? En praktisk guide til risiko, tests, dependencies og trinvis modernisering.",{"name":662,"created_at":663,"published_at":664,"updated_at":665,"id":666,"uuid":667,"content":668,"slug":844,"full_slug":845,"sort_by_date":429,"position":846,"tag_list":847,"is_startpage":29,"parent_id":848,"meta_data":429,"group_id":849,"first_published_at":850,"release_id":429,"lang":434,"path":429,"alternates":851,"default_full_slug":429,"translated_slugs":429},"Hvornår bør .NET Framework moderniseres til moderne .NET?","2026-09-09T09:24:29.691Z","2026-09-25T09:28:50.264Z","2026-09-25T09:28:50.283Z",218137680679698,"75465a2b-a3b3-48b8-a4cf-466861d2de58",{"_uid":440,"body":669,"image":836,"component":647,"breadcrumbs":838,"shortDescription":660},[670,677,783,798],{"_uid":443,"content":671,"component":455,"BackgroundImage":675,"gradientOverlay":461},[672],{"_uid":446,"Blocks":673,"component":454},[674],{"_uid":449,"color":450,"title":451,"fontSize":452,"component":453,"isPrimary":231},{"id":457,"alt":458,"name":25,"focus":25,"title":25,"source":25,"filename":459,"copyright":25,"fieldtype":27,"meta_data":676,"is_external_url":29},[],{"_uid":463,"Blocks":678,"component":454},[679],{"_uid":466,"blocks":680,"maxWidth":613,"component":614},[681,730,736],{"_uid":469,"Content":682,"component":537},{"type":471,"content":683},[684,687,690,694,697,700,704,707,710,714,717,720,724,727],{"type":474,"content":685},[686],{"text":477,"type":478},{"type":474,"content":688},[689],{"text":482,"type":478},{"type":484,"attrs":691,"content":692},{"level":486},[693],{"text":489,"type":478},{"type":474,"content":695},[696],{"text":493,"type":478},{"type":474,"content":698},[699],{"text":497,"type":478},{"type":484,"attrs":701,"content":702},{"level":486},[703],{"text":502,"type":478},{"type":474,"content":705},[706],{"text":506,"type":478},{"type":474,"content":708},[709],{"text":510,"type":478},{"type":484,"attrs":711,"content":712},{"level":486},[713],{"text":515,"type":478},{"type":474,"content":715},[716],{"text":519,"type":478},{"type":474,"content":718},[719],{"text":523,"type":478},{"type":484,"attrs":721,"content":722},{"level":486},[723],{"text":528,"type":478},{"type":474,"content":725},[726],{"text":532,"type":478},{"type":474,"content":728},[729],{"text":536,"type":478},{"_uid":539,"Blocks":731,"component":550,"justifyContent":551},[732],{"_uid":542,"link":733,"Asset":734,"maxWidth":25,"component":245,"imageSize":549,"maxHeight":25},{"id":25,"url":25,"linktype":39,"fieldtype":40,"cached_url":25},{"id":545,"alt":546,"name":25,"focus":25,"title":25,"source":25,"filename":547,"copyright":25,"fieldtype":27,"meta_data":735,"is_external_url":29},[],{"_uid":553,"Content":737,"component":537},{"type":471,"content":738},[739,743,746,749,753,756,759,763,766,770,773,777,780],{"type":484,"attrs":740,"content":741},{"level":486},[742],{"text":560,"type":478},{"type":474,"content":744},[745],{"text":564,"type":478},{"type":474,"content":747},[748],{"text":568,"type":478},{"type":484,"attrs":750,"content":751},{"level":486},[752],{"text":573,"type":478},{"type":474,"content":754},[755],{"text":577,"type":478},{"type":474,"content":757},[758],{"text":581,"type":478},{"type":484,"attrs":760,"content":761},{"level":486},[762],{"text":586,"type":478},{"type":474,"content":764},[765],{"text":590,"type":478},{"type":484,"attrs":767,"content":768},{"level":486},[769],{"text":595,"type":478},{"type":474,"content":771},[772],{"text":599,"type":478},{"type":484,"attrs":774,"content":775},{"level":486},[776],{"text":604,"type":478},{"type":474,"content":778},[779],{"text":608,"type":478},{"type":474,"content":781},[782],{"text":612,"type":478},{"_uid":616,"Blocks":784,"component":454,"BackgroundImage":794,"backgroundColor":35,"spaceBetweenCols":635,"BackgroundImageFull":796},[785],{"_uid":619,"blocks":786,"spacing":25,"maxWidth":613,"component":614,"justifyContent":25},[787,788],{"_uid":622,"color":43,"title":623,"fontSize":244,"alignment":25,"component":453,"isPrimary":29,"fontWeight":624,"lineHeight":25,"mobileFontSize":25},{"_uid":626,"Content":789,"TextAlign":25,"component":537},{"type":471,"content":790},[791],{"type":474,"content":792},[793],{"text":632,"type":478},{"id":429,"alt":429,"name":25,"focus":429,"title":429,"source":429,"filename":25,"copyright":429,"fieldtype":27,"meta_data":795},[],{"id":429,"alt":429,"name":25,"focus":429,"title":429,"source":429,"filename":25,"copyright":429,"fieldtype":27,"meta_data":797},[],{"_uid":639,"Blocks":799,"component":454,"backgroundColor":35},[800],{"_uid":642,"content":801,"component":644},{"name":802,"created_at":803,"published_at":804,"updated_at":805,"id":806,"uuid":643,"content":807,"slug":828,"full_slug":829,"sort_by_date":429,"position":830,"tag_list":831,"is_startpage":29,"parent_id":832,"meta_data":429,"group_id":833,"first_published_at":834,"release_id":429,"lang":434,"path":429,"alternates":835,"default_full_slug":429,"translated_slugs":429,"_stopResolving":231},"Default contact","2023-08-08T07:56:04.163Z","2025-10-09T12:31:42.248Z","2025-10-09T12:37:13.520Z",351865272,{"_uid":808,"body":809,"noindex":231,"component":826,"breadcrumbs":827,"shortDescription":802},"7734b562-c23b-4ca6-9b98-21e7a8476a25",[810],{"_uid":811,"title":812,"subtitle":813,"component":814,"personName":815,"personEmail":816,"personImage":817,"personPhone":16,"personTitle":820,"successMessage":821,"placeholderName":320,"placeholderEmail":822,"placeholderPhone":823,"placeholderMessage":824,"placeholderButtonSubmit":825},"093c5b8d-8e9f-4062-a6ba-56c26c24fa22","Vil du høre mere?","Kontakt os for en snak om, hvordan vi kan hjælpe jer i mål med jeres næste IT-projekt.","BlockContact","Dan Olesen","dan.olesen@uptimedevelopment.dk",{"id":23,"alt":24,"name":25,"focus":818,"title":25,"source":25,"filename":26,"copyright":25,"fieldtype":27,"meta_data":819,"is_external_url":29},"786x156:787x157",{"alt":24,"title":25,"source":25,"copyright":25},"Business Developer","Tak for din hendvendelse, vi vender tilbage snarest muligt.","Email","Telefon","Besked","Send besked","page",[],"default-contact","shared-components/default-contact",0,[],351852723,"d0b2760f-5a92-47fd-9da0-e4fb29946b02","2023-08-08T08:01:05.365Z",[],{"id":457,"alt":458,"name":25,"focus":25,"title":25,"source":25,"filename":459,"copyright":25,"fieldtype":27,"meta_data":837,"is_external_url":29},[],[839,841],{"_uid":650,"link":840,"title":654,"component":655},{"id":652,"url":25,"linktype":39,"fieldtype":40,"cached_url":268},{"_uid":657,"link":842,"title":659,"component":655},{"id":218,"url":25,"linktype":39,"fieldtype":40,"cached_url":843},"/blog/","fra-dotnet-framework-til-moderne-dotnet","blog/fra-dotnet-framework-til-moderne-dotnet",-500,[],348441801,"df5da301-2616-42f1-b7ab-cdd906abe487","2026-09-10T08:00:13.048Z",[],1792051247171]