Skip to content

How does FarNet work in terms of pairing managed code with FAR? #39

Answered by nightroman
Usurer asked this question in Q&A
Discussion options

You must be logged in to vote

This is a good question, interesting for those who want to connect C++ and .NET.

How does FAR recognize FarNet.dll as a valid plugin?

It does not. FAR knows nothing about FarNet.dll.
FarNet.dll is a pure .NET assembly with API and tools for .NET modules and scripts.
API is mostly interfaces and abstract classes, not implemented in FarNet.dll itself.

But FarNet.dll is not the FarNet engine. The engine is Plugins\FarNet\FarNetMan.dll.
FarNetMan.dll is built with C++/CLI, i.e. it is native and managed at the same time.
Thus:

  • FAR treats FarNetMan.dll as the usual plugin (it's possible because FarNetMan.dll is native)
  • FarNetMan.dll loads FarNet.dll and connects to implemented instances (it'…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@nightroman
Comment options

@Usurer
Comment options

Answer selected by Usurer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants