Plugin with C++/CLI fails with .NET 5 but works in Framework 4.8

  .net-5, c++, managed, openfx

I´ve an OpenFX plugin that is developed with Managed C++/CLI. It acts as a bridge between the host application (Natron) and the actual logic in a DLL (C#, .NET framework 4.8).
So far, this works fine. As soon as Natron is started, the plugin is recognised and integrated.

I now wanted to migrate the plugin to .NET 5. The migration itself works without any problems; the project compiles without errors. However, neither Natron nor any other OpenFX host can use the plugin anymore.
In Natron’s console output the message appears:

couldn't open library D:/My/Solution/PathMyPlugin.ofx.bundleContentswin64MyPlugin.ofx because Das angegebene Modul wurde nicht gefunden.
 was returned

(EN: The specified module was not found.)

I have already tried the following things:

  • Using .NET Core 3.1 instead of .NET 5
  • Adjustments in the runtimeconfig.json and deps.json files
  • Created a completely new managed C++/CLI project to exclude historical misconfiguration
  • Checking with Dependency Walker
  • Search Google, StackOverflow and MSDN – and despaired … 😉

To make matters worse, I’m not really fit in C++ (which is also why I need the CLI bridge to C#).

I hope someone can help me or at least give me a tip. I know the topic is quite specific.
Somehow I suspect that a dependency on .NET 5 is not found. But it could also be something else.

Many thanks in advance!

Many greetings

Source: Windows Questions C++

LEAVE A COMMENT