Nullable
A source code only package which allows you to use .NET's nullable attributes in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework. (by manuelroemer)
MSBuild.SDK.SystemWeb
This MSBuild SDK is designed to allow for the easy creation and use of SDK (shortform) projects targeting ASP.NET 4.x using System.Web. (by CZEMacLeod)
Nullable | MSBuild.SDK.SystemWeb | |
---|---|---|
2 | 6 | |
179 | 143 | |
- | - | |
4.2 | 2.9 | |
3 months ago | 10 months ago | |
C# | Visual Basic .NET | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nullable
Posts with mentions or reviews of Nullable.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-08.
-
Why would you use Windows containers ?
https://github.com/manuelroemer/Nullable (backport nullable attributes so you can use things like [NotNullWhen]). Alternatively, https://github.com/tunnelvisionlabs/ReferenceAssemblyAnnotator/ is even niftier, as it gives you .NET 5's annotations as well. So the compiler tells you whether a Dictionary.TryGetValue result is nullable or not based on annotations that didn't exist in .NET Standard 2.0.
-
Introducing: EasyCsv Dotnet
If you need the attributes, reference https://github.com/manuelroemer/Nullable or https://github.com/tunnelvisionlabs/ReferenceAssemblyAnnotator. The latter is bigger, but retroactively adds nullability annotations to runtime references (such as Dictionary.TryGetValue).
MSBuild.SDK.SystemWeb
Posts with mentions or reviews of MSBuild.SDK.SystemWeb.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-08.
-
Why would you use Windows containers ?
I have some projects stuck on that, but not a lot. For web stuff, https://github.com/CZEMacLeod/MSBuild.SDK.SystemWeb does most of the heavy lifting, although things like publishing are broken.
-
Who is working on converting old projects into new ones?
I’ve had great luck with this on older ASP.NET projects https://github.com/CZEMacLeod/MSBuild.SDK.SystemWeb
- Is there a way to change my C# language version without editing the project file?
-
What's the future of asp.net 4
You can use this unofficial project to modernize your .NET Framework project and take advantage of things like PackageReferences.
-
Do you apply new C# features to existing code after upgrading .NET version?
Sdk at least works with .net standard so shared projects can be converted to that, we also had some success using the MSBuild.SDK.SystemWeb sdk nuget package for our MVC5 projects which I found from the github issue discussions on adding official support for it on older projects.
-
Upgrading .net framework 4.8 to .net core
I've been a bit luckier in that regard, but I'm not sure if your path wouldn't have taken less effort. I use https://github.com/hvanbakel/CsprojToVs2017 (dotnet migrate-2019 wizard) to modernize the projects, then further tweak them by hand. For ASP.NET projects, it's indeed a very difficult road. WebForms outright doesn't exist, and Core is very different from MVC in some areas. https://github.com/CZEMacLeod/MSBuild.SDK.SystemWeb helps somewhat.
What are some alternatives?
When comparing Nullable and MSBuild.SDK.SystemWeb you can also consider the following projects:
SmartAnnotations - A library for .NET that uses source generators to automatically generate data annotations for your models.
project-system - The .NET Project System for Visual Studio
TF-Source-2 - Team Fortress 2 on Source 2 — A gamemode for s&box [UnavailableForLegalReasons - Repository access blocked]
IsExternalInit - A source code only package which allows you to use C# 9's init and record features in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework by providing a polyfill for the IsExternalInit class.
CsprojToVs2017 - Tooling for converting pre 2017 project to the new Visual Studio 2017 format.
ReferenceAssemblyAnnotator - IL weaver to add nullability annotations to .NET reference assemblies