Multi Commander managed C# extensions (64-bit)
================================================

Managed extensions are supported by the 64-bit version of Multi Commander.
They run inside MultiCommander.exe with the same permissions as the application.
Only install extensions from publishers you trust.
Publisher names shown in Extension Manager come from extension.json and are not
verified identities or digital signatures.
Managed SDK 1.0 packages require Multi Commander build 3200 or newer; an
extension may declare a higher minimum build in extension.json.

Runtime requirement
-------------------

The x64 Microsoft .NET Desktop Runtime 10 must be installed. It includes the
Microsoft.NETCore.App runtime and WPF support; the ASP.NET Core runtime is not required.

Installing an extension
-----------------------

1. Close Multi Commander.
2. Create one directory for the extension below:

       ManagedExtensions\Packages\<ExtensionName>\

3. Copy the complete extension package into that directory. The file
   extension.json must be directly inside the new directory, together with the
   extension DLL and every private dependency supplied by its publisher.
4. Start Multi Commander. Use the Extension Manager to enable or disable the
   extension when applicable.

Example:

    MultiCommander\
      ManagedExtensions\
        Packages\
          MyExtension\
            extension.json
            MyExtension.dll
            MyPrivateDependency.dll

Do not place managed extension DLLs in the native Extensions directory. Do not
copy MultiCommander.ManagedSdk.dll into an extension package; Multi Commander
provides the compatible shared SDK assembly in ManagedExtensions\Host.

Updating or removing an extension
---------------------------------

Close Multi Commander before replacing or deleting an extension package.
Managed extension changes require an application restart.

Developing an extension
-----------------------

Download the MultiCommander.ManagedSdk and MultiCommander.ManagedTemplates
.nupkg files, HowToUseSDK.md, NuGet.Config.example, LICENSE.txt, and
SHA256SUMS.txt manually from the Managed Extension SDK section on:

    https://multicommander.com/

The packages are not published to nuget.org. Verify their SHA-256 values, keep
all downloaded files in a stable local directory, and install the template:

    dotnet new install "C:\Tools\MultiCommanderManagedSdk\MultiCommander.ManagedTemplates.1.0.0.nupkg"

The templates do not restore automatically. Copy NuGet.Config.example beside
the generated project, check its local directory, and then run
"dotnet restore". This maps MultiCommander.ManagedSdk only to the verified
local package source.

Troubleshooting
---------------

If an extension is rejected or cannot start, check Multi Commander's AppLog for
the package path and the managed-host error. Common causes include the x64 .NET
Desktop Runtime 10 being absent, an invalid extension.json, an incompatible
managed API version, or a missing private dependency.
