upgrade-assistant | A tool to assist developers in upgrading NET Framework applications to NET 6 and beyond | DevOps library

 by   dotnet C# Version: v0.2.0 License: MIT

kandi X-RAY | upgrade-assistant Summary

kandi X-RAY | upgrade-assistant Summary

upgrade-assistant is a C# library typically used in Devops applications. upgrade-assistant has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

This project enables automation of common tasks related to upgrading .NET Framework projects to the latest versions of .NET (current, LTS, or Preview). See for more details for what these mean.Note that this is not a complete upgrade tool and work will be required after using the tooling to upgrade a project.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              upgrade-assistant has a medium active ecosystem.
              It has 980 star(s) with 140 fork(s). There are 33 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 389 open issues and 445 have been closed. On average issues are closed in 69 days. There are 4 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of upgrade-assistant is v0.2.0

            kandi-Quality Quality

              upgrade-assistant has 0 bugs and 0 code smells.

            kandi-Security Security

              upgrade-assistant has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              upgrade-assistant code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              upgrade-assistant is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              upgrade-assistant releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.
              It has 1039 lines of code, 0 functions and 773 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of upgrade-assistant
            Get all kandi verified functions for this library.

            upgrade-assistant Key Features

            No Key Features are available at this moment for upgrade-assistant.

            upgrade-assistant Examples and Code Snippets

            No Code Snippets are available at this moment for upgrade-assistant.

            Community Discussions

            QUESTION

            Error: MainActivity must extend android.app.Activity [Instantiatable]
            Asked 2022-Mar-31 at 02:13

            I tried upgrading Android Gradle Plugin from 4.2.2 to 7.0.1 using the upgrade assistant which is available in Android Studio at Tools > AGP Upgrade Assistant. The only change it made was to my project-level build.gradle file:

            ...

            ANSWER

            Answered 2021-Aug-24 at 16:35

            the Android Gradle Plugin documentation still says classpath 'com.android.tools.build:gradle:4.2.0' instead of 7.0.1.

            You need to read further down the page, to this and this. That table is only relevant for pre-7.0.0 versions.

            Is this a bug in Android Gradle Plugin 7.0.1?

            Quite possibly. Or, perhaps beyond, as the Instantiatable Lint check has a history of problems.

            If your scenario does not match one of those three August 2021 bugs, and you are in position to provide a reproducible test case, file a fresh issue! Beyond that, if a clean-and-rebuild is not clearing up your problem, you might need to simply disable the Instantiatable Lint check for the time being by adding the following to all of your build.gradle files at the application or library level (i.e. all except your project-level build.gradle):

            Source https://stackoverflow.com/questions/68899665

            QUESTION

            NET Core 3.1 WinForms Designer incompatibility with WPF User Control
            Asked 2021-Apr-28 at 13:22

            Over a year ago I began writing a .NET Framework 4.6.1 app using Windows Forms. At the time I knew about WPF, yet was familiar with Windows Forms and it had most of the controls I needed. For the missing controls, I wrote two in Windows Forms and one in WPF. All of these coexisted fine, with the WPF control containerized within an element host.

            This week I began the migration process to .NET Core 3.1. My tests with a copy of the project were positive, as well as initial results with the actual migration. After minor refactoring, the solution built and ran without issue. Then the gremlin appeared after opening the main UI form in the WinForms Designer. Back in .NET Framework, all of my custom controls appeared inside the Designer's Toolbox, providing easy drag-and-drop onto the form. In .NET Core, only my WinForms controls appeared in the Toolbox, not my WPF control. Because the Designer could not see that control, it stripped it from the Form's designer code, leaving an empty element host behind.

            Here's the kicker. After reverting the Designer's changes, any direct manual edits to the Form's designer code is accepted, and building the project succeeds and runs fine. So for some reason the Designer does not like WPF controls in WinForms.

            Things I've tried:

            • During my testing I discovered that the main WinForms UI needed both "UseWindowsForms" and "UseWPF" set to "true" for the project to compile. I then added the "UseWindowsForms" parameter to the WPF user control library. This caused the control to appear in the Designer's Toolbox, yet attempting to add the control resulted in this error: "Failed to create component ... Microsoft.DotNet.DesignTools.Client.DesignToolsServerException ... Make sure the type implements IComponent and provides an appropriate public constructor. Appropriate constructors either take no parameters or take a single IContainer parameter." And the existing WPF control in the code was still removed.
            • I copied the WPF control from the library to the main UI project, edited the namespace, and removed the library project reference. Same result as above.
            • Created a new Windows Forms User Control library, added "UseWPF" to the project, and copied the WPF control to this library. Same result as above.
            • Back to the test copy of my project, I followed Microsoft's guides for "try-convert" and "upgrade-assistant". The latter seemed promising at first, as it replaced, modified, or removed outdated referenced and packages. But, no success.
            • Tried the above migration steps with both .NET Core 3.1 and .NET 5. Same results.

            The point I'm at now is to keep manually editing the Form's designer code. Not ideal for large changes, and also not sustainable if/when this project is passed to another developer. Any thoughts? Should I attempt porting the Windows Forms UI to WPF? Or is this simply a maturity issue with the still relatively new .NET Core Windows Forms Designer?

            Visual Studio version: Community 2019 16.9.3

            Screenshot of IComponent error: enter image description here

            ...

            ANSWER

            Answered 2021-Apr-28 at 13:22

            I finally figured out a workaround; the idea was sparked by the Microsoft Docs page for the ElementHost control: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.integration.elementhost?view=netcore-3.1

            In essence, move the WPF control hosting from the main UI into a WinForms control library. Hence, the User control in this WinForms control library will be a wrapper for the WPF control. Here are the steps I took in my test VS solution:

            1. Remove the "true" entry from the main UI project file I had added during testing.
            2. In the new WinForms control library, add "true" to this project file underneath the "true" entry. This enables the library to be a bridge between the two UI frameworks.
            3. If the WPF control to host is in a dedicated control library (like mine), then add this project as a dependency in the WinForms control library.
            4. Create a new User control in the WinForms library, if there isn't one already.
            5. In the Designer, add a panel container to the control with "Fill" docking. I named my panel as "panelWpf".
            6. Here is where the Microsoft Doc comes in. In the code behind file for the WinForms control, I first added an ElementHost control and the WPF control as private global variables. Then, in the WinForms "Load" event, I set the ElementHost docking style, added the WPF as a child, and finally added ElementHost as a control to the "panelWpf" container. Below is the code from this file. "WpfControlLibrary31" is my WPF control library project, and "TestControl31" is the WPF control itself. Lastly, "WpfTest" is the name of the wrapper WinForms User control.
            7. After building the WinForms control library, it appeared in the main UI project's Toolbox, and I was able to add it to the form like any other Windows Forms control. The next steps will be to add event handlers, getters, setters, etc. to the control for the needed interaction.

            Source https://stackoverflow.com/questions/67098947

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install upgrade-assistant

            When run on a solution in order to upgrade, the tool will:. After running this tool on a solution to upgrade, the solution will likely not build until the upgrade is completed manually. Analyzers added to the solution will highlight some of the remaining changes needed after the tool runs.
            Determine which projects need upgraded and recommend the order the projects should be upgraded in
            Update the project file to be an SDK-style project
            Remove transitive NuGet package dependencies that may have been present in packages.config
            Re-target project to .NET current, LTS, or preview
            Update NuGet package dependencies to versions that are compatible with .NET current, LTS, or preview
            Make simple updates in C# source code to replace patterns that worked in .NET Framework with current, LTS, or preview equivalents
            For some app models (like ASP.NET apps), add common template files (like startup.cs) and make simple updates based on recognized web.config or app.config values
            For projects targeting Windows, add a reference to the Microsoft.Windows.Compatibility package
            Add references to analyzers that help with upgrade, such as the Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers package
            As you upgrade projects from .NET Framework to .NET (current, LTS, or preview), it will be very useful to be familiar with relevant porting documentation. Web scenarios can be especially challenging, so it you are upgrading an ASP.NET app, be sure to read ASP.NET Core migration documentation. If you are unfamiliar with ASP.NET Core, you should also read ASP.NET Core fundamentals documentation to learn about important ASP.NET Core concepts (hosting, middleware, routing, etc.).
            Upgrade an ASP.NET MVC App to .NET 6 with the .NET Upgrade Assistant
            Upgrade a Windows Forms App to .NET 6 with the .NET Upgrade Assistant
            Upgrade a WPF App to .NET 6 with the .NET Upgrade Assistant
            The tool can be installed from NuGet as a .NET CLI tool by running:.
            Note that this tool does not (yet) advise on the feasibility or estimated cost of upgrading projects. It assumes that projects it runs on have already been reviewed and a decision taken to upgrade them to the latest version of .NET (current, LTS, or preview).
            The .NET Portability Analyzer tool
            .NET Core porting documentation
            Documentation of features not available on .NET Core

            Support

            We're interested to hearing how your experience with the .NET Upgrade Assistant has been going as you upgrade your project(s) from .NET Framework to the latest version of .NET (current, LTS, or preview).
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/dotnet/upgrade-assistant.git

          • CLI

            gh repo clone dotnet/upgrade-assistant

          • sshUrl

            git@github.com:dotnet/upgrade-assistant.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular DevOps Libraries

            ansible

            by ansible

            devops-exercises

            by bregman-arie

            core

            by dotnet

            semantic-release

            by semantic-release

            Carthage

            by Carthage

            Try Top Libraries by dotnet

            aspnetcore

            by dotnetC#

            maui

            by dotnetC#

            core

            by dotnetPowerShell

            roslyn

            by dotnetC#

            efcore

            by dotnetC#