Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion categories/software-engineering/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Software Engineering
uri: software-engineering
index:
- category: categories/software-engineering/rules-to-better-net-projects.mdx
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
- category: categories/software-engineering/rules-to-better-architecture-and-code-review.mdx
- category: categories/software-engineering/rules-to-better-azure.mdx
- category: categories/software-engineering/rules-to-better-blazor.mdx
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
---
_template: category
type: category
title: Rules to Better .NET 8 Migrations
experts: https://www.ssw.com.au/people/?skill=.NET-8-Migration
consulting: https://www.ssw.com.au/consulting/net-8
title: Rules to Better .NET 10 Migrations
experts: https://www.ssw.com.au/people/?skill=.NET-10-Migration
Comment thread
KostaMadorsky marked this conversation as resolved.
consulting: https://www.ssw.com.au/consulting/net-upgrade
guid: 2614b3ba-6219-4b32-9cf7-2b833eec8bdf
uri: rules-to-better-net8-migrations
uri: rules-to-better-net10-migrations
Comment thread
KostaMadorsky marked this conversation as resolved.
redirects:
- rules-to-better-net8-migrations
index:
- rule: public/uploads/rules/why-upgrade-to-latest-dotnet/rule.mdx
- rule: public/uploads/rules/migration-plans/rule.mdx
- rule: public/uploads/rules/dotnet-modernization-tools/rule.mdx
- rule: public/uploads/rules/migrating-web-apps-to-dotnet/rule.mdx
- rule: public/uploads/rules/dotnet-upgrade-assistant/rule.mdx
- rule: public/uploads/rules/migrate-from-system-web-to-modern-alternatives/rule.mdx
- rule: public/uploads/rules/migrate-from-edmx-to-ef-core/rule.mdx
- rule: public/uploads/rules/migrate-global-asax-to-asp-net-core/rule.mdx
Expand All @@ -19,8 +21,8 @@ index:
- rule: public/uploads/rules/manage-compatibility-for-different-tfms/rule.mdx
- rule: public/uploads/rules/dotnet-upgrade-for-complex-projects/rule.mdx
- rule: public/uploads/rules/do-you-check-your-api-serialisation-format/rule.mdx
- rule: public/uploads/rules/migrating-frontend-to-net8/rule.mdx
- rule: public/uploads/rules/migrating-frontend-to-net10/rule.mdx
- rule: public/uploads/rules/use-banned-api-analyzers/rule.mdx
---

Ready to migrate to .NET 8? Check [SSW's .NET 8 Migration consulting page](https://ssw.com.au/consulting/net-8).
Ready to migrate to .NET 10? Check [SSW's .NET 10 Migration consulting page](https://www.ssw.com.au/consulting/net-upgrade).
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ index:
- rule: public/uploads/rules/do-your-windows-forms-have-border-protection/rule.mdx
---

Did you know that Windows Forms was recently updated with the release of .NET 8? See the changes on [Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/core/compatibility/windows-forms/8.0/anchor-layout)!
Did you know that Windows Forms was recently updated with the release of .NET 10? See the changes on [Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/core/compatibility/10#windows-forms)!
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Disagreeing with powerful stakeholders can have a huge impact. It's always good
<youtubeEmbed url="https://youtu.be/FbtHJm8vFpE?si=GNBJdUdM3QNCpRmx&t=186" description={"Video: How to Disagree with Someone More Powerful (watch 3 min from 3:06 to 5:38)"} />


Imagine a scenario where you are a Developer on a team and you disagree with the Product Owner about the priority of your PBI - migrating from .NET 6 to .NET 8. The Product Owner is saying they don't want to do it, but you think it's important for this Sprint.
Imagine a scenario where you are a Developer on a team and you disagree with the Product Owner about the priority of your PBI - migrating from .NET 6 to .NET 10. The Product Owner is saying they don't want to do it, but you think it's important for this Sprint.

Let's see what tips and tricks can be applied to ensure a smooth discussion.

Expand All @@ -52,9 +52,9 @@ By repeating back your understanding of the issue, you can check that their view
<boxEmbed
style="greybox"
body={<>
**Developer**: I think you don't want to migrate from .NET 6 to .NET 8 because you want to finish adding single-sign on first. And you consider any security issues to be priority 1. Is that correct?
**Developer**: I think you don't want to migrate from .NET 6 to .NET 10 because you want to finish adding single-sign on first. And you consider any security issues to be priority 1. Is that correct?

**Product Owner**: Actually, the reason is because .NET 9 comes out in a few months and I want to wait for that version.
**Product Owner**: Actually, the reason is because .NET 11 comes out in a few months and I want to wait for that version.
</>}
figurePrefix="good"
figure="Good example - The Developer identified that the Product Owner had a different reason than they thought"
Expand Down Expand Up @@ -90,7 +90,7 @@ Determine an outcome you both want to see from the solution. That way the conver

**Product Owner**: Yes, absolutely!

**Developer**: Well, when I read the .NET 8 release notes I saw they have improved performance by 20%. That's why I want to upgrade now.
**Developer**: Well, when I read the .NET 11 release notes I saw they have improved performance by 20%. That's why I want to upgrade now.
</>}
figurePrefix="good"
figure="Good example - The Developer identified a pain point the Product Owner cares about, strengthens their argument"
Expand Down Expand Up @@ -118,9 +118,9 @@ If you caveat that you are just expressing your opinion, others will feel like y
<boxEmbed
style="greybox"
body={<>
**Product Owner**: I don't want to upgrade to .NET 8 this Sprint because I want to wait for .NET 9
**Product Owner**: I don't want to upgrade to .NET 10 this Sprint because I want to wait for .NET 11

**Developer**: No, we should upgrade to .NET 8 this Sprint because it will help fix users' performance issues.
**Developer**: No, we should upgrade to .NET 10 this Sprint because it will help fix users' performance issues.
</>}
figurePrefix="bad"
figure="Bad example - The Developer didn't express that it was their opinion"
Expand All @@ -133,7 +133,7 @@ If you caveat that you are just expressing your opinion, others will feel like y
body={<>
**Product Owner**: [See above]

**Developer**: In my opinion, it's better if we upgrade to .NET 8 this Sprint because it will help fix users' performance issues.
**Developer**: In my opinion, it's better if we upgrade to .NET 10 this Sprint because it will help fix users' performance issues.
</>}
figurePrefix="good"
figure="Good example - The Developer mentions that it is their opinion leaving the topic open for discussion"
Expand All @@ -148,7 +148,7 @@ Language that sounds accusatory or judgmental can evoke bad reactions and derail
<boxEmbed
style="greybox"
body={<>
**Developer**: It would be stupid if we didn't upgrade to .NET 8 this Sprint
**Developer**: It would be stupid if we didn't upgrade to .NET 10 this Sprint
</>}
figurePrefix="bad"
figure="Bad example - The Developer made their point and it sounds like a personal attack"
Expand All @@ -159,7 +159,7 @@ Language that sounds accusatory or judgmental can evoke bad reactions and derail
<boxEmbed
style="greybox"
body={<>
**Developer**: If we don't upgrade to .NET 8 this Sprint, our users are going to keep having the performance issues they have been complaining about.
**Developer**: If we don't upgrade to .NET 10 this Sprint, our users are going to keep having the performance issues they have been complaining about.
</>}
figurePrefix="good"
figure="Good example - The Developer identifies a pain point for the users, rather than making it emotion based"
Expand All @@ -174,7 +174,7 @@ Let them know it's their decision, but be clear that you disagree. Communicating
<boxEmbed
style="greybox"
body={<>
We should upgrade to .NET 8 this Sprint so that we can solve the performance problems users are experiencing.
We should upgrade to .NET 10 this Sprint so that we can solve the performance problems users are experiencing.
</>}
figurePrefix="bad"
figure="Bad example - Doesn't leave the power in the stakeholders hands."
Expand All @@ -185,7 +185,7 @@ Let them know it's their decision, but be clear that you disagree. Communicating
<boxEmbed
style="greybox"
body={<>
This call is yours, but my opinion is that we should upgrade to .NET 8 this Sprint so that we can solve the performance problems users are experiencing.
This call is yours, but my opinion is that we should upgrade to .NET 10 this Sprint so that we can solve the performance problems users are experiencing.
</>}
figurePrefix="good"
figure="Good example - Clearly expresses that the final decision is up to them"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ authors:
created: 2024-05-13 05:45:10.297000+00:00
guid: 5d3f3d8d-161f-4fdd-9721-e4e9f37de9ac
related:
- rule: public/uploads/rules/dotnet-upgrade-assistant/rule.mdx
- rule: public/uploads/rules/dotnet-modernization-tools/rule.mdx
- rule: public/uploads/rules/migrate-from-system-web-to-modern-alternatives/rule.mdx
- rule: public/uploads/rules/migration-plans/rule.mdx
- rule: public/uploads/rules/modernize-your-app/rule.mdx
Expand All @@ -14,7 +14,7 @@ seoDescription: Migrate to System.Text.Json for faster performance and lower mem
property name casing.
title: Do you check your API serialisation format?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: do-you-check-your-api-serialisation-format
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ guid: 4481526b-a691-4570-87d3-a9d474ae0dfd
redirects:
- do-you-know-where-to-host-frontend
related:
- rule: public/uploads/rules/migrating-frontend-to-net8/rule.mdx
- rule: public/uploads/rules/migrating-frontend-to-net10/rule.mdx
seoDescription: Discover the best way to host your frontend application with ASP.NET
8, balancing scalability, flexibility, and ease of deployment.
10, balancing scalability, flexibility, and ease of deployment.
title: Do you know where to host your Frontend application?
categories:
- category: categories/software-engineering/rules-to-better-websites-deployment.mdx
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
type: rule
title: Do you know how to modernize your .NET applications?
uri: dotnet-upgrade-assistant
uri: dotnet-modernization-tools
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
authors:
- title: Tylah Kapa
url: 'https://www.ssw.com.au/people/tylah-kapa'
Expand Down Expand Up @@ -74,7 +74,7 @@ The [.NET Upgrade Assistant](https://learn.microsoft.com/en-us/dotnet/core/porti
* **Open source** - Contribute features and bug fixes to help others achieve the same goal
* **Upgrading to modern .NET** - Provides more opportunity for the future of your application

<imageEmbed alt="Image" size="large" showBorder={false} figurePrefix="none" figure="Use the CLI version of Upgrade Assistant" src="/uploads/rules/dotnet-upgrade-assistant/upgrade-assistant-CLI.png" />
<imageEmbed alt="Image" size="large" showBorder={false} figurePrefix="none" figure="Use the CLI version of Upgrade Assistant" src="/uploads/rules/dotnet-modernization-tools/upgrade-assistant-CLI.png" />

❌ **Cons**:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ authors:
created: 2023-07-16 23:08:53.979000+00:00
guid: 9de5ca88-a6aa-4fe5-af47-d6d2169cde86
related:
- rule: public/uploads/rules/dotnet-upgrade-assistant/rule.mdx
- rule: public/uploads/rules/dotnet-modernization-tools/rule.mdx
- rule: public/uploads/rules/migrate-from-system-web-to-modern-alternatives/rule.mdx
- rule: public/uploads/rules/do-you-check-your-api-serialisation-format/rule.mdx
seoDescription: Migrate legacy .NET Framework projects to modern ASP.NET Core with
Yarp proxy and .NET Upgrade Assistant.
title: Do you know how to handle complex .NET migrations?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: dotnet-upgrade-for-complex-projects
---
Expand All @@ -33,7 +33,7 @@ There's not 1 single thing that makes a .NET project complex to migrate to the l
* Outdated NuGet packages with no modern alternatives
* etc.

If your project doesn't meet any of the above criteria, you should consider using the [.NET Upgrade Assistant](https://dotnet.microsoft.com/en-us/platform/upgrade-assistant). You can read more about the tool at [Do you know how to modernize your .NET applications?](/dotnet-upgrade-assistant/) If the .NET Upgrade Assistant works for your project, you could save a significant amount of time. However, the level of success may vary across different projects.
If your project doesn't meet any of the above criteria, you should consider using the [.NET Upgrade Assistant](https://dotnet.microsoft.com/en-us/platform/upgrade-assistant). You can read more about the tool at [Do you know how to modernize your .NET applications?](/dotnet-modernization-tools/) If the .NET Upgrade Assistant works for your project, you could save a significant amount of time. However, the level of success may vary across different projects.

While complex .NET migration has many steps and can be time-consuming, it offers significant benefits, including incremental migrations, improved risk management, and streamlined progress tracking.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ seoDescription: Learn how to migrate OWIN-based authentication to ASP.NET Core f
modern web applications.
title: Do you know how to migrate OWIN to ASP.NET Core?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: know-how-to-migrate-owin-to-asp-net-core
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ seoDescription: Migrate Web.config settings to ASP.NET Core with ease. Learn how
JSON files like appsettings.json while leveraging IConfiguration for seamless integration.
title: Do you know how to migrate Web.config to ASP.NET Core?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: know-how-to-migrate-web-config-to-asp-net-core
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ You can use the "Manage My Network" page in LinkedIn by going to **My Network**

I see that you're working at company using .NET Framework 4.7.2. Wow, that's old!

If you'd like, I can put you in touch with my Account Manager for an initial meeting to upgrade to .NET 8?
If you'd like, I can put you in touch with my Account Manager for an initial meeting to upgrade to .NET 10?
</>}
figurePrefix="bad"
figure="Bad example - Too salesy, and a bit rude?"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ seoDescription: Learn how to manage compatibility between different Target Frame
type: rule
title: Do you know how to manage compatibility between different Target Framework Monikers (TFMs)?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
uri: manage-compatibility-for-different-tfms
authors:
- title: Yazhi Chen
Expand Down
2 changes: 1 addition & 1 deletion public/uploads/rules/migrate-from-edmx-to-ef-core/rule.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ seoDescription: Migrate from EDMX to EF Core necessary steps involve abstracting
title: Do you know how to migrate from EDMX to EF Core
categories:
- category: categories/software-engineering/rules-to-better-entity-framework.mdx
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: migrate-from-edmx-to-ef-core
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ seoDescription: Migrate from System.Web to modern alternatives and upgrade .NET
applications to .NET or .NET Standard.
title: Do you know how to migrate from System.Web to modern alternatives
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
type: rule
uri: migrate-from-system-web-to-modern-alternatives
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ seoDescription: Migrate Global.asax to ASP.NET Core and refactor session managem
type: rule
title: Do you know how to migrate Global.asax to ASP.NET Core?
categories:
- category: categories/software-engineering/rules-to-better-net8-migrations.mdx
- category: categories/software-engineering/rules-to-better-net10-migrations.mdx
uri: migrate-global-asax-to-asp-net-core
authors:
- title: Nick Curran
Expand Down
Loading
Loading