Я прочитал это сообщение
Я работаю над проектом winform (.Net 4.6 c #)
В одном модуле,Я использую пакет IKVM nuget (8.1.5717), и у меня есть сомнения относительно IKVM.OpenJDK.Core.
На самом деле, я использовал его с PDFBox.dll (который я сделал из PDFBox_2.0.12.банка).В PDFBox есть класс COSArray
, который реализует интерфейсы Iterable
и IEnumerable
.
Теперь я думаю, что IKVM.OpenJDK.Core ожидает, что в этом классе будет реализован метод foreach
.Но когда я увидел, что исходный код Java.Lang.Iterable
интерфейса foreach
метод уже реализован там (метод по умолчанию), и нет необходимости в дальнейшем переопределении.
Эта версия PDFBox является их выпущенной, поэтому в среде Java, такчто-то это очевидно должно работать нормально.
Но я столкнулся с проблемой.Исключение выглядит следующим образом.
System.TypeLoadException: Method 'forEach' in type 'org.apache.pdfbox.cos.COSArray' from assembly
'pdfbox, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
at org.apache.pdfbox.pdfparser.BaseParser.parseDirObject()
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSDictionaryValue()
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSDictionaryNameValuePair(COSDictionary )
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSDictionary()
at org.apache.pdfbox.pdfparser.COSParser.parseTrailer()
at org.apache.pdfbox.pdfparser.COSParser.parseXref(Int64 startXRefOffset)
at org.apache.pdfbox.pdfparser.COSParser.retrieveTrailer()
at org.apache.pdfbox.pdfparser.PDFParser.initialParse()
at org.apache.pdfbox.pdfparser.PDFParser.parse()
at org.apache.pdfbox.pdmodel.PDDocument.load(File file, String password, InputStream keyStore, String alias, MemoryUsageSetting memUsageSetting)
at org.apache.pdfbox.pdmodel.PDDocument.load(File file, String password, MemoryUsageSetting memUsageSetting)
at org.apache.pdfbox.pdmodel.PDDocument.load(File file)
at PDFPOC.Program.loadPDDocument(String documentPath)
Что может быть причиной этого?