当我试图在文档模板中填充合并字段时,当我到达wordTemplate.process()时,它尝试加载一个类型'System.Data.OleDb.OleDbType',但没有找到。该项目是一个.net框架4.7.2类库,其中包含一个.net Core2.1UIlib。
我尝试过在一个老的asp.net网站项目中这样做,这个项目的目标也是框架4.7.2,它的工作就像一种魅力。
错误消息:
WordWriter错误:无法从程序集'System.Data、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e079‘加载类型'System.Data.OleDb.OleDbType’。 异常全名= "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);我在这里错过了什么?
发布于 2018-10-17 14:54:52
好吧,弄明白了.因为我的父项目是一个.NET核心2.1,而子项目是一个.NET框架4.7.2,所以当它在运行时,它将在框架项目中使用来自核心项目的system.data。在编辑IDE中的项目时,我将使用框架dll,而不是编译时。在核心dll中,大量的OleDB“框架”已经被删除。这就是为什么运行时出现了错误,但在编写代码时却没有。我希望这能帮上忙。
https://stackoverflow.com/questions/52833459
复制相似问题