Console.Waterworks.Core is the .Net Core version of Console.Waterworks. https://www.craigoates.net/Software/project/8
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
4.5 KiB

7 years ago
# ![Logo](Documentation/GitHub_Assets/Page-Header.png "Header")
## About Console.Waterworks.Core
Console.Waterworks.Core is the .Net Core version of Console.Waterworks. Both projects are Nuget packages. And, their main purpose is to help you write extendable command-based console programs. If you want to write a console program using the full .Net Framework, use Console.Waterworks.
**[Console.Waterworks Repository](http://www.github.com/CraigOates/Console.Waterworks)**
## About Documentation
In this repository, you will find instructions on how to **use** Console.Waterworks.Core. This is because the architecture and concepts between the two projects are the same. So, it felt unnecessary to repeat that part here. Instead, I will point you to the Console.Waterworks' wiki. Once there, you can explore how they are built.
Please note, the code examples used in the wiki are the **same** for both repositories. Also, the wiki's main focus is on explaining the architecture and concepts of the projects. So, you will not find a lot of code samples in it. If you want to explore the code, I recommend you start in the class called `CW_Liaison`. It is the entry point (for both projects).
**[Console.Waterworks Wiki - Artictecture Overview](https://github.com/CraigOates/Console.Waterworks/wiki/Architecture-Overview)**
### Pre-Requisites
To use Console.Waterworks.Core, I recommend you meet the following pre-requisites:
- You have experience with [C#](https://docs.microsoft.com/en-us/dotnet/csharp/).
- You can create a [.Net console program](https://docs.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio) in [Visual Studio 2017](https://www.visualstudio.com/vs/).
- You have experience with [Nuget](https://www.nuget.org/).
- You have Microsoft [.Net Framework 4.7](https://docs.microsoft.com/en-us/dotnet/framework/install/guide-for-developers) or higher.
### Quick Start - Wiring Console.Waterworks.Core in to your Console Program
Before continuing... I am skipping the part about creating a .Net console program. This is because I assume you know how to do that. I am, also, assuming you are using Visual Studio 2017 and C# (not VB or F#).
1 Add Console.Waterworks.Core to your project via Nuget. You can do this using Visual Studio's (2017) Package Manager GUI. Or, you can use the Package Manager Console. Here is the command for the PM Console,
```powershell
# Enter the version of number of your choice.
Install-Package Console.Waterworks.Core -Version 0.1.0-alpha1
```
2 Create a class called `ConsoleCommands`. It can go anywhere as long as it is in the same project as the console program.
3 Make a note of the `ConsoleCommands` namespace.
4 Head to the `Main` method in `Program.cs` and add the following lines of code,
```c#
public static void Main(string[] args)
{
CW_Liaison liaison = new CW_Liaison();
liaison.Run("CW_Console", true);
}
```
5 Head back to `ConsoleCommands` and make it public and static.
6 Stay in `ConsoleCommands` and write the following method,
```c#
public string Test()
{
return "Congratulations! It works.";
}
```
7 Run the program and type "Test" into the console.
8 If all has gone well, you should see the “Congratulations! It works." message.
9 Add more methods to you console program.
### (Offline) Guides
I provided a link to Console.Waterworks' Wiki as a online guide for learning about Console.Waterworks(.Core)'s architecture. With that said, I have, also, mad a couple of guides for when you are offline. The are as follows,
- The Quick Guide to Console.Waterworks.Core
- The Architecture Guide Console.Waterworks.Core
These guides are printer friendly. And, they are best consumed on your favourite reading chair.
### Code of Conduct
Please visit the Code of Conduct page for Console.Waterworks.Core at,
- [Code of Conduct page](https://github.com/CraigOates/Console.Waterworks.Core/blob/master/CODE_OF_CONDUCT.md)
- [MIT License](https://github.com/CraigOates/Console.Waterworks.Core/blob/master/LICENSE)
### Contributing to the Console.Waterworks.Core Repository
Please visit the Contributing page for Console.Waterworks.Core at,
- [Contributing page](https://github.com/CraigOates/Console.Waterworks.Core/blob/master/CONTRIBUTING.md)
### About the Creator
Hi, my name is Craig and I'm the creator of Console.Waterworks.Core. Thanks for checking it out.
- Email:craig@craigoates.net
- Web: [http://www.craigoates.net](http://www.craigoates.netk)
- Project's Site: [http://craigsappshed.azurewebsites.net/Waterworks](http://craigsappshed.azurewebsites.net/Waterworks "Project's site") (Subject to change)