9a9c
9a9c 9a9c
9a9c 9a9c
9a9c I wrote a 9a9c Tiny Digital Working System 9a9c for a 300-level OS 9a9c class in C# for school 9a9c again in 2001 (?) and 9a9c later 9a9c moved it to VB.NET in 9a9c 2002 9a9c . That is all pre-.NET 9a9c Core, and on early .NET 9a9c 1.1 or 2.0 on Home 9a9c windows. I 9a9c moved it to GitHub 5 9a9c years in the past 9a9c and 9a9c ported it to .NET Core 9a9c 2.0 on the time 9a9c . At this level it 9a9c was 15 years outdated, so 9a9c it was cool to see 9a9c this challenge working on Home 9a9c windows, Linux, in Docker, and 9a9c on a Raspberry Pi…a machine 9a9c that did not exist when 9a9c the challenge was initially written.
9a9c
9a9c
9a9c NOTE: 9a9c If the timeline is complicated, 9a9c I had already been working 9a9c in trade for years at 9a9c this level however was nonetheless 9a9c plugging away at my 4 9a9c 12 months diploma at evening. 9a9c It will definitely took 11 9a9c years to finish my BS 9a9c in Software program Engineering.
9a9c
9a9c This night, as the youngsters 9a9c slept, I needed to see 9a9c if I may run the 9a9c 9a9c .NET Improve Assistant 9a9c on this now 20 9a9c 12 months outdated app and 9a9c get it working on .NET 9a9c 6.
9a9c
9a9c Let’s begin:
9a9c $ upgrade-assistant improve .TinyOS.sln
9a9c -----------------------------------------------------------------------------------------------------------------
9a9c Microsoft .NET Improve Assistant v0.3.256001+3c4e05c787f588e940fe73bfa78d7eedfe0190bd9a9c We're eager about your suggestions! 9a9c Please use the next hyperlink 9a9c to open a survey: https://aka.ms/DotNetUASurvey
9a9c -----------------------------------------------------------------------------------------------------------------9a9c [22:58:01 INF] Loaded 5 extensions
9a9c [22:58:02 INF] Utilizing MSBuild from 9a9c C:Program Filesdotnetsdk6.0.100
9a9c [22:58:02 INF] Utilizing Visible Studio 9a9c set up from C:Program FilesMicrosoft 9a9c Visible Studio2022Preview [v17]
9a9c [22:58:06 INF] Initializing improve step 9a9c Choose an entrypoint
9a9c [22:58:07 INF] Setting entrypoint to 9a9c solely challenge in resolution: C:UsersscottTinyOSsrcTinyOSCoreTinyOSCore.csproj
9a9c [22:58:07 INF] Recommending executable TFM 9a9c net6.0 as a result of 9a9c the challenge builds to an 9a9c executable
9a9c [22:58:07 INF] Initializing improve step 9a9c Choose challenge to improve
9a9c [22:58:07 INF] Recommending executable TFM 9a9c net6.0 as a result of 9a9c the challenge builds to an 9a9c executable
9a9c [22:58:07 INF] Recommending executable TFM 9a9c net6.0 as a result of 9a9c the challenge builds to an 9a9c executable
9a9c [22:58:07 INF] Initializing improve step 9a9c Again up challenge
9a9c
9a9c See how the method is 9a9c interactive on the command line, 9a9c with shade prompts and a 9a9c collection of dynamic multiple-choice questions?

9a9c
9a9c Apparently, it builds on the 9a9c primary strive, no errors.
9a9c
9a9c Once I manually take a 9a9c look at the .csproj I 9a9c can see some bizarre model 9a9c numbers, doubtless from some not-quite-baked 9a9c model of .NET Core 2 9a9c I used a few years 9a9c in the past. My spidey 9a9c sense says that is improper, 9a9c and I am assuming the 9a9c improve assistant did not perceive 9a9c it.
9a9c <!-- 9a9c <PackageReference Embrace="ILLink.Duties" Model="0.1.4-preview-906439" /> -->
9a9c <PackageReference Embrace="Microsoft.Extensions.Configuration" Model="2.0.0-preview2-final" />
9a9c <PackageReference Embrace="Microsoft.Extensions.Configuration.Json" Model="2.0.0-preview2-final" />
9a9c <PackageReference Embrace="Microsoft.Extensions.DependencyInjection" Model="2.0.0-preview2-final" />
9a9c <PackageReference Embrace="Microsoft.Extensions.Choices.ConfigurationExtensions" Model="2.0.0-preview2-final" />
9a9c
9a9c I additionally observe a commented-out 9a9c reference to ILLink.Duties which was 9a9c a preview function in Mono’s 9a9c Linker to cut back the 9a9c ultimate measurement of apps and 9a9c tree-trim them. A few of 9a9c that performance is constructed into 9a9c .NET 6 now so I 9a9c will use that throughout the 9a9c construct and packaging course of 9a9c later. The reference is just 9a9c not wanted as we speak.
9a9c
9a9c I am gonna blindly improve 9a9c them to .NET 6 and 9a9c see what occurs. I may 9a9c do that by simply altering 9a9c the numbers and seeing if 9a9c it restores and builds, however 9a9c I may also strive 9a9c dotnet outdated 9a9c which stays a beautiful 9a9c software within the upgrader’s toolkit.

9a9c
9a9c This “outdated” software is sweet 9a9c because it talks to NuGet 9a9c and confirms that there are 9a9c newer variations of sure packages.
9a9c
9a9c In my assessments – which 9a9c had been simply batch recordsdata 9a9c at this early time – 9a9c I used to be calling 9a9c my dotnet app like this:
9a9c dotnet netcoreapp2.0/TinyOSCore.dll 512 scott13.txt 9a9c
9a9c
9a9c This can change to the 9a9c fashionable type with simply 9a9c TinyOSCore.exe 512 scott13.txt
9a9c with an exe and 9a9c args and no ceremony.
9a9c
9a9c Publishing and trimming my TinyOS 9a9c turns into only a 15 9a9c meg EXE. Good contemplating that 9a9c the .NET I want is 9a9c in there with no separate 9a9c set up. I may flip 9a9c this little artificial OS right 9a9c into a microservice if I 9a9c needed to be completely additional.
9a9c dotnet publish -r win-x64 --self-contained 9a9c -p:PublishSingleFile=true -p:SuppressTrimAnalysisWarnings=true
9a9c
9a9c If I add
9a9c -p:EnableCompressionInSingleFile=true
9a9c
9a9c Then it is even smaller. 9a9c No code adjustments. Run all 9a9c my assessments, seems to be 9a9c good. My challenge from college 9a9c from .NET 1.1 is now 9a9c .NET 6.0, cross platform, self-contained 9a9c in 11 megs in a 9a9c single EXE. Candy.
9a9c
9a9c
9a9c Sponsor: 9a9c At Rocket Mortgage® the work 9a9c you do round right here 9a9c might be 100% impactful however 9a9c received’t take all of your 9a9c free time, supplying you with 9a9c the right work-life stability. Or 9a9c as we name it, tech/life 9a9c stability! 9a9c Be taught extra.
9a9c
9a9c 9a9c
9a9c 9a9c 9a9c
9a9c 9a9c 9a9c 9a9c
9a9c About Scott
9a9c
9a9c 9a9c 9a9c 9a9c
9a9c 9a9c 9a9c 9a9c
9a9c Scott Hanselman is a former 9a9c professor, former Chief Architect in 9a9c finance, now speaker, marketing consultant, 9a9c father, diabetic, and Microsoft worker. 9a9c He’s a failed stand-up comedian, 9a9c a cornrower, and a ebook 9a9c creator.
9a9c
9a9c 9a9c 9a9c 9a9c 9a9c
9a9c 9a9c 9a9c 9a9c 9a9c
9a9c 9a9c 9a9c 9a9c
9a9c
9a9c 9a9c 9a9c 9a9c 9a9c About 9a9c 9a9c Publication 9a9c
9a9c 9a9c 9a9c 9a9c
9a9c
9a9c 9a9c 9a9c
9a9c
9a9c 9a9c 9a9c
9a9c 9a9c 9a9c 9a9c
9a9c
9a9c 9a9c 9a9c
9a9c
9a9c 9a9c
9a9c
9a9c 9a9c
9a9c 9a9c
9a9c 9a9c 9a9c
9a9c
9a9c