2013-12-13 64 views
1

我使用R. Gieseckes UnmanagedExports dll完成了导出方法的汇编。在VS 2012中构建这个程序集效果很好。但建设作为 部分用的FinalBuilder更大的解决方案引发以下错误装配:之前看过这部使用FinalBuilder进行构建汇编时出现非托管导出错误

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, Nullable 1 startPosition, Nullable 1 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.

有人吗?任何提示?

问候

+0

在您的解决方案中,右键单击+启用nuget包更新。所以,msbuild会在最终生成器运行期间执行它 –

回答

0

所有我能想到的是金块包,而收集组件未装入项目引用已被更新或有CPU架构的x86/x64的并发症。

看起来您有d:\ Work \ Libraries \和C:\ BuildSource \ branches \目录的组合,并且您的项目文件中可能会有意外的链接,这些链接被硬编码到不同的目录而不是使用相对引用。看看*。* proj文件和提示路径。

有时我在构建目录中打开VS解决方案并检查编译问题。 确保您每次都使用干净的构建目录。尝试在非开发机器上运行Finalbuilder以查看您可以如何构建它。我发现我有很多隐含的链接,所以我必须升级我的Repository以包含它们或在构建解决方案之前使用Nugget操作。

+0

这是否有帮助? –

+0

对不起,杰米,没有时间尝试这个呢。 – Matthias