This is sample project that shows how to create application with extensions on net6.0.
There's 2 main directories - Calculator and Extensions. Each one shows own development perspective.
- Calculator shows how application developers can extend application and provide SDK for extensions writers.
- Extensions show how extension writers see extension writing process.
Almost every file have comments that explain what's done right here.
Main purpose of this repo is to show how you can create single file that can be transferred to extension developer who can start extending your application without writing boilerplate code
- Highly customizable
- No weird hacks is required
- Include new libraries with
<IncludeInSdk>true</IncludeInSdk>
- Each build produces
.nupkg
file that can be shared the way you want
-
Single
.nupkg
have everything needed to create extensions -
Minimal project file - only set Project's SDK and you're ready to go
<Project Sdk="Calculator.Sdk/1.0.0" />
Decades of evolution to single line project file
- Easy to maintain dependencies. Your dependencies won't interfere with others
- Easy to build - no need for third-party build tools. Everything is resolved by MSBuild!
- DLL hell & Version hell is no more!
You need net6.0 sdk.
- Go to
Calculator
folder and typedotnet build
- Go to
Extensions
folder and typedotnet build
- Create folder in
Calculator/Calculator.Program/bin/debug/net6.0/
calledExtensions
- Compile
Extensions/Addition
- Copy output to directory from
1
- Run
Calculator.Program
app