Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extending ConsoleApplicationBase to load external Assemblies #6

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

RoDoerIng
Copy link

Hi,

I read your blog post about a "Useful, Extensible .NET Console Application" and I liked the idea of having such a thing when working on my master thesis.
I've just started programming in C# and wanted a REPL like environment. But I wanted to have the possibility to load external Assemblies with a DefaultCommand or via the App.config file. I refactored a few things to make that work. I also includes a library project that, after being built, is loaded into the Console Application via App.config file.

Regards, Ronny

refactored console app, _commandLibraries in static class now
TODO: Commands can only be invoked once, don't know reason yet
…re the owning assembly of each command class for future extensibility in regards to external assemblies
…ename

added TestLib project to solution
storing the owning assembly of each command class is working
removed adding external assembly on initialisation of CommandLibrary
added App.config file to store app settings
extended CommandLibrary initialize function with auto loading  external assemblies specified in config file
# Conflicts:
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/CommandClassInfo.cs
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/CommandHandler.cs
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/CommandLibrary.cs
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/Commands/DefaultCommands.cs
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/ConsoleApplicationBase.csproj
#	src/consoleApp/ConsoleApplicationBase/ConsoleApplicationBase/Program.cs
…base

# Conflicts:
#	ConsoleApplicationBase.sln
#	ConsoleApplicationBase/App.config
#	ConsoleApplicationBase/Commands/DefaultCommands.cs
#	ConsoleApplicationBase/ConsoleApplicationBase.csproj
#	ConsoleApplicationBase/Program.cs
@xivSolutions
Copy link
Contributor

Cool!

I can't pull it down and play with it right now, but what I'll probably do it pull it into a separate branch, and put a link to the branch with a description in the comments. That way the original will remain in sync with the blog article, but people can easily find the cool stuff you've done with it.

@RoDoerIng
Copy link
Author

Thanks for appreciating my work.
As I said, I'm pretty new to C#, so you may want to review my code to some extend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants