Исключение инициализации типа при определении конвейера - PullRequest
0 голосов
/ 28 сентября 2018

При интеграции Stanford-NLP в приложение ASP.Net Core C # появляется следующее сообщение об ошибке: System.TypeInitializationException HResult = 0x80131534 Message = Инициализатор типа для 'edu.stanford.nlp.util.Timing' вызвал исключение.Source = stanford-corenlp-3.9.1 StackTrace: на edu.stanford.nlp.util.Timing..ctor () на edu.stanford.nlp.pipeline.StanfordCoreNLP.construct (свойства, логические значения, аннотаторные имплементации) на edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor (реквизиты свойств, логические принудительные требования, AnnotatorPool annotatorPool) в edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor (реквизиты, логические принудительные требования) в edu.stanford.nN.Exp.ctor (Свойства props) в _3x32018.Utility.SearchNLP.ParseNLG (String sent2) в G: \ VSProjects \ 3x32018 \ 3x32018 \ Utility \ SearchNLP.cs: строка 52

Внутреннее исключение 1: TypeInitializationException: инициализатор типадля java.util.ResourceBundle возникло исключение.

Внутреннее исключение 2: MissingMethodException: Метод не найден: 'Void System.IO.FileStream..ctor (System.String, System.IO.FileMode, System.Security.AccessControl.FileSystemRights, System.IO.FileShare, Int32, System.IO.FileOptions) '.

Вот мой простой кодode ::

using edu.stanford.nlp.pipeline;
using java.util;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;

namespace _3x32018.Utility 
{ 
  public class SearchNLP 
    { 
      public HashSet<string> ParseNLG(string sent2) 
        { 
          CultureInfo ci = new CultureInfo("en-US"); 
          Thread.CurrentThread.CurrentCulture = ci; 
          Thread.CurrentThread.CurrentUICulture = ci; 

          Properties props = new Properties(); 
          props.setProperty("annotators", "tokenize, ssplit, pos, lemma,
  ner, parse, dcoref"); 
        StanfordCoreNLP pipeline = new StanfordCoreNLP(props); 
        Annotation document = new Annotation(sent2); 
        pipeline.annotate(document); 
      } 
   } 
}

Любые идеи, почему это не удается?

-Lester

1 Ответ

0 голосов
/ 25 февраля 2019

Вы используете ASP.NET Core, у которого нет конструктора для FileStream, который использует corenlp.net (точнее, IKVM).Проверьте эту страницу, https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.-ctor?view=netcore-2.0.

...