首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iTextSharp中基于ASP.NET5的矩阵汇编引用

iTextSharp中基于ASP.NET5的矩阵汇编引用
EN

Stack Overflow用户
提问于 2016-01-04 19:38:40
回答 3查看 1.7K关注 0票数 0

我正在尝试iTextSharp中的ASP.NETv5,我有一个带有重写的OnEndPagePdfPageEventHelper,它的行如下:

代码语言:javascript
复制
_cb.AddTemplate(_template, pageSize.GetLeft(295), pageSize.GetBottom(36));

这会引发一个错误:在未引用的程序集中定义“矩阵”类型的。必须添加对程序集'System.Drawing,Version=2.0.0.0,Culture=neutral,Culture=neutral的引用

如何解决这个问题,是否需要在项目中添加一些内容。

编辑继CodingGorilla的回答后,我将自己的web.config更改为:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding>
      <dependentAssembly>
        <assemblyIdentity name="System.Drawing"
          publicKeyToken="b03f5f7f11d50a3a"
          culture="en-us" />
        <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.webServer>
  etc...

然而,构建仍然失败,并提到了2.0.0.0版本。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-25 08:23:39

我也有同样的问题,System.Drawing没有被项目引用,而是将引用添加到4.0.0.0,并且工作正常。

票数 1
EN

Stack Overflow用户

发布于 2016-01-06 12:55:40

因此,我认为问题在于,iTextSharp是用/ for .NET 2.0编写的,因此它正在寻找System.Drawing的2.0版本。我从来没有尝试过在System.Drawing中这样做,但我假设它会同样工作;您想要做的是向web.config添加一个<bindingRedirect>元素。请查看这篇MSDN文章:讨论这一问题的https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx

我怀疑iTextSharp是否已经在ASP.NET 5中测试过,因此最终您可能无法使用它,因为它依赖于该框架的旧版本。

票数 1
EN

Stack Overflow用户

发布于 2016-12-29 12:02:35

实际上,你根本不应该需要System.Drawing。在我的一堂课上,我也遇到了同样的问题。如果您要为我应用解决这个问题的方法,您的代码行将如下所示:

代码语言:javascript
复制
_cb.AddTemplate(_template, 1f, 0f, 0f, 1f, pageSize.GetLeft(295), pageSize.GetBottom(36));

这不应该改变代码的预期行为,因为您的行无论如何都会有效地调用这一行。

我必须承认,我仍然不完全理解System.Drawing是如何发挥作用的。如果方法调用得到两个浮点数,则不应该解析为System.Drawing.Drawing2D.Matrix版本。包含矩阵的方法签名甚至被标记为过时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34598562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档