GitExtensions - Проблема с CommandLineBuilder

Разработка на C# под linux
 
after making it "internal" GitExtensions build gives the error:
UserControls/ConsoleEmulatorOutputControl.cs(88,19): error CS0122: `Microsoft.Build.Utilities.CommandLineBuilder' is inaccessible due to its protection level
            /usr/lib/mono/gac/ConEmu.WinForms/1.0.0.0__00340228797aafb8/ConEmu.WinForms.dll (Location of the symbol related to previous error)
...
Done building target "CoreCompile" in project "/var/calculate/remote/distfiles/egit-src/gitextensions.git/GitUI/GitUI.csproj".-- FAILED

Что именно было сделано "internal"?

namespace System.Runtime.CompilerServices
    struct AsyncTaskMethodBuilder
    interface INotifyCompletion
    interface ICriticalNotifyCompletion : INotifyCompletion
    interface IAsyncStateMachine
namespace System.Threading.Tasks
    struct TaskAwaiter : INotifyCompletion
    struct TaskAwaiter : INotifyCompletion

namespace Microsoft.Build.Utilities
    sealed class CommandLineBuilder

Файлы:
    ConEmuWinForms/Util/INotifyCompletion.cs
    ConEmuWinForms/Util/ICriticalNotifyCompletion.cs
    ConEmuWinForms/Util/IAsyncStateMachine.cs
    ConEmuWinForms/Util/CommandLineBuilder.cs (в msbuild)
    ConEmuWinForms/Util/TaskAwaiter.cs
    ConEmuWinForms/Util/TaskAwaiter!1.cs

Проблема заключается в том, что пакет Microsoft.Build.Utilities.Core собран для .Net Framweork 4.6
а GitExtensions - для .Net 4.0, поэтому нельзя просто взять и установить этот пакет.
Идея заключается в том, чтобы собрать новый другой пакет специально под .NetFramework 4.0

Если поискать исходные файлы в исходниках msbuild И сравнить с этими - они одинаковые?
Внутри msbuild есть только CommandLineBuilder, но проект содержит reference на Microsoft.Build.Framework.csproj
    <ProjectReference Include="..\Framework\Microsoft.Build.Framework.csproj">
      <Project>{571F09DB-A81A-4444-945C-6F7B530054CD}</Project>
      <Name>Microsoft.Build.Framework</Name>
    </ProjectReference>
Там этих TaskAwaiter тоже нет, так что концов не нашлось. Кстати, неясно, нужны ли все классы сделанные Internal или только CommandLineBuilder. И соберётся ли CommandLineBuilder если будет один в проекте.
глядя на текст класса можно увидеть, что он манипулирует строками и интерфейсами типа ITaskItem (msdn)
Namespace: Microsoft.Build.Framework
Assembly: Microsoft.Build.Framework (in Microsoft.Build.Framework.dll)

ITaskItem.cs - в общем и целом ни от чего такого не зависит.
(но странно, что его нет в коде ConEmu)
Это потому, что код класса CommandLineBuilder из ConEmu не содержит методов, работающих с ITaskItem
(то есть, получается, что класс CommandLineBuilder из ConEmu полностью независим и может быть скомпилирован отдельно)