XLL+ adds new items to your Visual Studio project, in order to implement the import process.
The first added item is an XML file, MyLib.import.xml
.
This contains instructions on how to import the assembly.
When the item is "compiled", the XLL+ Reflector tool is invoked,
which:
MyLib.import.xml
;MyLib.xnr
);MyLib.dll
and reads all its members using reflection;MyLib_Wrappers.cpp
.
MyLib_Wrappers.cpp
is the output of MyLib.import.xml
,
and therefore it is regenerated whenever MyLib.import.xml
is updated.
There are are also two "Additional Dependencies" registered with Visual Studio:
MyLib.dll
and 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.