2013-12-13 38 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