Unmanaged Exports Error when Building Assembly with FinalBuilder

903 views Asked by At

I have done an Assembly with exported methods using R. Gieseckes UnmanagedExports dll. Building this assembly within VS 2012 works great. But building the assembly as part of a larger solution with FinalBuilder throws the following error:

Parse IL: Parsing 1517 lines of IL took 120 ms. C:\BuildSource\branches\Standard\Projects\Intf_New\Interfaces\StdInterface\packages\UnmanagedExports.1.2.4.23262\tools\RGiesecke.DllExport.targets(42,5): error : Der Index, basierend auf 0 (null), muss größer als oder gleich Null sein, und kleiner als die Größe der Argumentenliste. bei System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args) bei System.String.Format(IFormatProvider provider, String format, Object[] args) bei RGiesecke.DllExport.DllExportNotifier.Notify(Int32 severity, String code, String fileName, Nullable1 startPosition, Nullable1 endPosition, String message, Object[] values) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\DllExportNotifier.cs:Zeile 135. bei RGiesecke.DllExport.DllExportNotifier.Notify(Int32 severity, String code, String message, Object[] values) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\DllExportNotifier.cs:Zeile 119. bei RGiesecke.DllExport.Parsing.IlAsm.RunLibTool(CpuPlatform cpu, String fileName, String directory) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\Parsing\ILAsm.cs:Zeile 212. bei RGiesecke.DllExport.Parsing.IlAsm.RunCore(CpuPlatform cpu, String fileName, String ressourceParam, String ilSuffix) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\Parsing\ILAsm.cs:Zeile 186. bei RGiesecke.DllExport.Parsing.IlAsm.Run(String outputFile, String ilSuffix, CpuPlatform cpu) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\Parsing\ILAsm.cs:Zeile 123. bei RGiesecke.DllExport.Parsing.IlAsm.ReassembleFile(String outputFile, String ilSuffix, CpuPlatform cpu) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\Parsing\ILAsm.cs:Zeile 75. bei RGiesecke.DllExport.DllExportWeaver.RunIlAsm(IlAsm ilAsm) in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\DllExportWeaver.cs:Zeile 151. bei RGiesecke.DllExport.DllExportWeaver.Run() in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport\DllExportWeaver.cs:Zeile 81. bei RGiesecke.DllExport.MSBuild.ExportTaskImplementation`1.Execute() in d:\Work\Libraries\RGiesecke.DllExport\RGiesecke.DllExport.MSBuild\ExportTaskImplementation.cs:Zeile 243.

Anyone having seen this before? Any hints?

Regards

1

There are 1 answers

2
Jamie Clayton On

All I can think is the nugget package that's collecting the component is not loaded has been updated in the project reference or that there is CPU architecture x86/x64 complication.

Looks like you have a combination of d:\Work\Libraries\ and C:\BuildSource\branches\ directories and you might have unexpected links in your project file that are hard coded to different directories rather than using relative references. Have a look at the *.*proj files and hint paths.

Some times I open the VS Solution in the build directory and check for compile issues. Make sure you use a clean build directory each time. Try running Finalbuilder on a non dev machine to see how well you can build it. I found I had lots of implicit links, so I had to upgrade my Repository to include them or use Nugget actions prior to building the solution.