Ошибка установки docx4j.NET
Я установил docx4j.NET
3.0.1
от Nuget с vs2012. Когда я пытаюсь использовать библиотеку с этим вызовом
WordprocessingMLPackage.load(inputS, "");
Я получаю эту ошибку:
System.TypeInitializationException:
The type initializer for 'org.docx4j.openpackaging.packages.OpcPackage' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'slf4j-api,
Version=1.7.6.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies
Версия slf4j-api
в docx4j.net
3.0.1
распределение 1.7.5.0
,
Есть ли проблема в распространении пакета?
1 ответ
Убедитесь, что список ссылочных библиотек DLL в вашем проекте VS включает slf4j-api. Если нет, добавьте это.
Если у вас есть правильная ссылка на DLL, то, как показано в примере кода, скажем, https://github.com/plutext/docx4j.NET/blob/master/docx4j.NET/src/samples/c%23/Docx4NET/DocxToHTML.cs, вам может понадобиться что-то вроде (обратите внимание на нижнюю строку):
// Programmatically configure Common Logging
// (alternatively, you could do it declaratively in app.config)
NameValueCollection commonLoggingproperties = new NameValueCollection();
commonLoggingproperties["showDateTime"] = "false";
commonLoggingproperties["level"] = "INFO";
LogManager.Adapter = new Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter(commonLoggingproperties);
ILog log = LogManager.GetCurrentClassLogger();
log.Info("Hello from Common Logging" );
// Necessary, if slf4j-api and slf4j-NetCommonLogging are separate DLLs
ikvm.runtime.Startup.addBootClassPathAssembly(
System.Reflection.Assembly.GetAssembly(
typeof(org.slf4j.impl.StaticLoggerBinder)));