According to many C# projects written before, I found that some features are used again and again. So I decided to extract these features to a common library which can be reused by multiple project/solutions.
Basically, This library contains following components:
Shuhari.Framework.Common Basic language extension and commonly used utility routines, shared by all other components. Features include:
- Verify parameter, environment, and so on
- Utility functions and extension methods for string, collection, assembly, stream, exception, etc
- Helper methods to simplify object comparasion and equality check
- Compression / Decompression helper
- A light-weight ORM implementation (only support Sql server at this time, but architectural provider-independent)
- Text templating based on NVelocity
Shuhari.Framework.Web.Mvc Extensions and controls for ASP.NET MVC programming. Features include:
- Dependency injection based on Ninject
- Open-session-in-view style database connection management
- Globalization support
- Extensions for controller and view
Shuhari.Framework.Testing.NUnit Extension methods to support NUnit testing.
The prebuilt assemblies are published to offical nuget package repository, with same name as each assemblies, thus you can install using package manager:
install-package Shuhari.Framework.Common [-vesion x.x.x]
install-package Shuhari.Framework.Web.Mvc [-vesion x.x.x]
install-package Shuhari.Framework.Testing.NUnit [-vesion x.x.x]
Or use nuget GUI in visual studio to search and install. The nuget build/publish scripts can be found in build.bat.
References:
- Nuget page for Shuhari.Framework.Common
- Nuget page for Shuhari.Framework.Web.Mvc
- Nuget page for Shuhari.Framework.Testing.NUnit
Release History:
v0.1.16.2 (2017-06-13)
- FIXED: CreatePagedQueryTuple support crlf
v0.1.16.1 (2017-04-07)
- REFACTOR: Move LogType/LogItem to Common assembly to avoid reference issues
v0.1.16.0 (2017-04-06)
- NEW: StringUtil.ContainsNoCase
- NEW: WPF HeaderLabel control
- NEW: WPF StatusLabel control
- NEW: ISelectable interface
- NEW: Selectable class
- NEW: WPF LogListView control
v0.1.15.0 (2017-03-30)
- NEW: Ok Role for dialog
v0.1.14.0 (2017-03-28)
- NEW: Browse folder Dialog
- NEW: Observable
- NEW: ElementExtensions.FindAncestor
- NEW: Cancel Role for dialog
For full list of release history view History