Skrivet av nawks:
Hej gänget,
Jag är sugen på att köpa den nya Mac Mini som arbetsdator, dock är jag inte speciellt Mac van ur ett utvecklingsperspektiv.
Så, jag skulle behöva svar på följande saker.
1. Såg att Visual Studio för mac inte längre fungerar, vilken programvara kan man använda? (Som stödjer .net core)
2. Hur fungerar det om man ska bygga en console app, går det fortfarande att kompilera och köra som .exe?
3. Hur fungerar det med att hosta och debugga webbapplikationer, i dagsläget använder vi helt enkelt en lokal IIS som vi anslutar VS mot för debugging osv.
4. Hur fungerar det med databaser, vi kör microsoft stacktrace så vi har mssql i botten, fungerar tex SQLExpress på Mac?
6. Har ni några erfarenheter av att köra Mac i en primärt Windows fokuserad organisation? Vad finns det för fallgropar?
Jag kommer köra Dualboot så jag även har windows, men, jag vill såklart i högsta möjliga mån undvika att hålla på hoppa fram och tillbaka mellan OS baserat på arbetsuppgift.
Mvh
Pär Pettersson
1. Som redan nämnts finns Rider.
Men föredrar personligen VS Code över både Rider och framförallt över Visual Studio, i alla fall om jag skriver console-appar med .NET.
Jobbar man däremot med WFP eller WinUI 3 gör specifika delar till dessa att Visual Studio är att föredra, men då bygger man specifikt för Windows ändå vilket gör detta till ett icke-problem.
2. Håller vi oss till konsol-appar och "moderna .NET" (det som tidigare hette .NET Core) så har man i praktiken full flexibilitet här. Det går att bygga en win-x64 versionen av programmet på en arm64-mac om man vill det (vilket kan vara fullt rimligt när jag releaser).
Specifikt kring .exe går det att bygga Windows-binärer även på Mac:en, finns 4 varianter av Windows-binärer som .NET stödjer
Alla dessa kommer generera en .exe binär. Det går inte att köra den binären från MacOS, däremot kan man använda "dotnet run <path-to-app.dll>" för att köra om man byggt med "CPU ANY".
osx-x64: macOS 64-bit for Intel (x64)
osx-arm64: macOS on Apple Silicon (ARM64)
linux-x64: (64-bit) x86_64 Linux
linux-arm: (32-bit) ARM Linux
linux-arm64: (64-bit) ARM64 Linux
Normalt bygger Windows till Windows, MacOS till MacOS och Linux till Linux. Så om man inte specifikt väljer runtime-plattform får man filerna "app" och "app.dll" på MacOS där man får "app.exe" och "app.dll" på Windows. "app" filen är körbara direkt.
3. Har tyvärr aldrig gjort detta, så vet ej. Kanske även det går att köra via Docker? Annars går det definitivt att köra via Windows som man kör via Parallels (kör själv ARM64 versionen av Windows 11 ovanpå MacOS via Parallels).
4. Som redan nämnts, Microsoft har en Docker-container för detta. Vidare om man kör Windows via Parallels är även det en möjlighet.
6. Gissningsvis lär inte IT-avdelningen kunna hjälpa dig speciellt mycket, men själva utvecklingsarbetet lär de väl ändå kanske inte lägga sig i så blir ingen skillnad. Lär ändå vara lättare än att köra Linux i en Windows-miljö (vilket jag gjorde under ca 15 år tidigare och det gick faktiskt lysande).
Skrivet av Elgot:
Just exe må vara windows-specifikt, men det går väl ändå att köra programmet man har byggt?
Exakt, se ovan. Man får ingen .exe "by-default" när man bygger på MacOS (eller Linux), däremot är det möjligt att bygga Windows .exe även från MacOS (och Linux). Går även att bygga win-x64 från mac-arm64