All Projects → dcook-net → Dotnet-Automatize

dcook-net / Dotnet-Automatize

Licence: other
AutoUpgrade is a .Net Global tool that will automatically update your Project Files, DockerFiles, docker-compose, and .env files with the changes required for migrating to new versions of .Net

Programming Languages

C#
18002 projects
Roff
2310 projects

Projects that are alternatives of or similar to Dotnet-Automatize

JT809DotNetty
JT809DotNetty
Stars: ✭ 30 (+100%)
Mutual labels:  dotnetcore
EPAYMENT
EPayment - Multi Payment Provider for .Net Core
Stars: ✭ 43 (+186.67%)
Mutual labels:  dotnetcore
Hisar
🏰 Hisar: Cross-Platform Modular Component Development Infrastructure
Stars: ✭ 19 (+26.67%)
Mutual labels:  dotnetcore
ASPNETcoreAngularJWT
Angular in ASP.NET Core with JWT solution by systemjs
Stars: ✭ 48 (+220%)
Mutual labels:  dotnetcore
depremkontrol
Simple demonstration of .NET Core 3.0 - BackgroundService to create long-running IHostedService applications
Stars: ✭ 13 (-13.33%)
Mutual labels:  dotnetcore
JT1078Gateway
基于Pipeline实现的JT1078Gateway支持TCP/UDP,目前只支持http-flv、ws-flv、hls三种拉流方式
Stars: ✭ 50 (+233.33%)
Mutual labels:  dotnetcore
Health
App Metrics Health is an open-source and cross-platform .NET library used to define and report application health checks
Stars: ✭ 25 (+66.67%)
Mutual labels:  dotnetcore
lobe.NET
.NET library for lobe.
Stars: ✭ 40 (+166.67%)
Mutual labels:  dotnetcore
docker-why
Quick example of using SQL Server and .NET Core on Linux, loading data using bash
Stars: ✭ 41 (+173.33%)
Mutual labels:  dotnetcore
ExtCore-Sample
Full-featured ExtCore framework 7 sample web application
Stars: ✭ 29 (+93.33%)
Mutual labels:  dotnetcore
EasyTokenGenerator
This repo aims to dynamically and simply generate tokens in Token Based systems.
Stars: ✭ 15 (+0%)
Mutual labels:  dotnetcore
Okanshi
mvno.github.io/okanshi
Stars: ✭ 14 (-6.67%)
Mutual labels:  dotnetcore
Cosmos.Identity
A Cosmos storage provider for ASP.NET Core Identity.
Stars: ✭ 26 (+73.33%)
Mutual labels:  dotnetcore
dotnet-upforgrabs
.NET Core Global Tool to help you get started with contributing to Open Source projects.
Stars: ✭ 50 (+233.33%)
Mutual labels:  dotnetcore
BuildAMation
Build system and project generator for C/C++ desktop software development. Uses C# for build scripts. It is no longer under active development.
Stars: ✭ 13 (-13.33%)
Mutual labels:  dotnetcore
peachpie-samples
Sample projects demonstrating use of Peachpie - the PHP compiler and runtime for .NET
Stars: ✭ 44 (+193.33%)
Mutual labels:  dotnetcore
ChatService
ChatService (SignalR).
Stars: ✭ 26 (+73.33%)
Mutual labels:  dotnetcore
SimpleCore
.NET C# common/utilities library
Stars: ✭ 11 (-26.67%)
Mutual labels:  dotnetcore
awesome-dotnet-async
A curated list of awesome articles and resources to learning and practicing about async, threading, and channels in .Net platform. 😉
Stars: ✭ 84 (+460%)
Mutual labels:  dotnetcore
MrHuo.OAuth
.netcore 下最好用的第三方登录组件集合,集成了国内外大部分平台,欢迎使用。
Stars: ✭ 152 (+913.33%)
Mutual labels:  dotnetcore

Build Status nuget

Dotnet-Automatize

Automatize is a .Net Global tool for automatically updating your .Net Core projects and solutions to the latest version of the the .Net Core Framework, in line with the migrations docs: https://docs.microsoft.com/en-us/aspnet/core/migration/20_21?view=aspnetcore-2.1.

It's a .Net global tool, so it works on Mac and Windows.

What does

Automatize is a fairly blunt instrument. It will update all of your Project File(s), DockerFile(s) and .env file(s) within the target folder with the changes required for migrating to the specified version of .Net Core. It currently supports upgrades from 2.0 -> 2.1, and 2.1 -> 2.2. If the target folder contains many projects/solutions, then they will all be updated. So, if all your development projects live under one root folder, it is possible to update them all with a single instruction.

If your project uses any MicroMachines.Common packages, then these will be upgraded to the minimum required version to support the update, if they are lower than the minimum version.

Automatize will always update to the latest patch version. So if the latest version of 2.1 is 2.1.6, you'll get 2.1.6. Any previous patch versions will be skipped and are effectively ignored.

What it doesn't do

It will not resolve namespace conflicts caused as a result of the update. It will not apply new code features, such as applying [ApiController] attribute for example. It does not currently build or test your solutions after update.

Pre-reqs:

You'll need .Net Core 2.1 SDK installed locally. Download at www.dot.net

To Install:

dotnet tool install automatize -g --version 2.0.1

Usage:

As this is a global tool, you can run it from anywhere, supplying the full path the folder containing the solution you wish to upgrade:

automatize upgrade [PathToDirectory]

Alternatively, if you navigate to the desired folder, you can omit the Path and it will default to your current location.

Params

PathToDirectory - Fully qualified Path to the directory you wish to upgrade. Defaults to current location.

--useLinux - By Default the Base image to use in your DockerFile is assumed to be Alpine. If you would rather use a Linux base image include the --useLinux switch, or -l. Windows is not currently supported.

--package - Flag to indicate if the project being updated is a Library project or not. Defaults to False.

--minorversion - The minor version of .Net Core 2 to upgrade to. Defaults to 2 (ie, 2.2) (Currently no validation on this, so anything other than 1 or 2 is likely to throw an exception.)

Examples:

automatize upgrade [PathToDirectory] --useLinux --package

The above command will upgrade a library project, targeting linux base docker images (as opposed to Alpine)

Upgrading your version:

To update to the latest version:

dotnet tool update automatize -g

Coming updates:

The plan is to keep updating for each new version of .Net Core, (possibly even with preview releases). I'd like to apply updates incrementally, so upgrading from 2.0 to 2.2 will apply updates for 2.1, then 2.2, all with a single command.

I'd also like to extend the behaviour to automatically build & test your upgraded application, and commit to git supplying an optional Jira ticket number to support smart commits.

PR's welcome :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].