Не удалось загрузить тип 'System.Data.OleDb.OleDbType' из сборки officewriter.proces () - PullRequest
0 голосов
/ 16 октября 2018

Когда я пытаюсь заполнить поля слияния в шаблоне документа, когда я достигаю wordTemplate.process ();он пытается загрузить тип 'System.Data.OleDb.OleDbType', но ни один не найден.Проект представляет собой .NET Framework 4.7.2 class lib с .net Core 2.1 UI lib.

Я пытался сделать это в более старом проекте на веб-сайте asp.net, который также нацелен на фреймворк 4.7.2, и он работает как шарм.

Сообщение об ошибке:

Ошибка WordWriter: не удалось загрузить тип 'System.Data.OleDb.OleDbType' из сборки 'System.Data, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e079 '.

Полное имя исключения = "SoftArtisans.OfficeWriter.WordWriter.SAException"

Я просто пытаюсь написать блок повторов, который заменяет поле слияния (это работает на сайте asp.net):

DataTable dt = new DataTable("Occassions");
dt.Columns.Add("AttentionNames");

foreach (AudAudiencePerson person in audiencePeopleToPrint)
{
  DataRow row = dt.NewRow();
  row["AttentionNames"] = "Mathias";
  dt.Rows.Add(row);
}

WordTemplate wordTemplate = new WordTemplate();  

wordTemplate.Open(@"pathToTemplate\BasicTemplate.docx");

wordTemplate.SetRepeatBlock(dt, "Repeat");
wordTemplate.Process();

MemoryStream ms = new MemoryStream();
wordTemplate.Save(ms);

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 17 октября 2018

Хорошо, разобрался ... Поскольку мой родительский проект - .NET Core 2.1, а дочерний проект - .NET Framework 4.7.2, когда он находится во время выполнения, он будет использовать system.data из Core.проект в рамках проекта.При редактировании проекта в IDE я буду использовать dll фреймворка, но не при компиляции.В CORE dll много OleDB-фреймворков было удалено.Вот почему ошибка во время выполнения, но не при написании кода.Я надеюсь, что это помогает кому-то.

...