XLL+ adds new items to your Visual Studio project, in order to implement the import process.
The first added item is an XML file,
This contains instructions on how to import the assembly.
When the item is "compiled", the XLL+ Reflector tool is invoked,
MyLib.dlland reads all its members using reflection;
MyLib_Wrappers.cpp is the output of
and therefore it is regenerated whenever
MyLib.import.xml is updated.
There are are also two "Additional Dependencies" registered with Visual Studio:
MyLib.xnr. As a result, the C++ code
is automatically regenerated whenever the imported .NET DLL is changed and rebuilt, and whenever
you use the Import Editor to change the detailed import instructions.
The second item added is
MyLib_Wrappers.cpp, which is treated as
a standard C++ source file and is compiled and linked into the XLL like any
other C++ source file.
The following issues are important when running or deploying your XLL add-in.
Failure to address either of these issues may result in the XLL failing to load and a "This file is not in a recognizable format" message appearing.