【问题标题】:Resolve conflict between System.Drawing and System.Drawing.Common解决 System.Drawing 和 System.Drawing.Common 之间的冲突
【发布时间】:2022-02-10 12:50:51
【问题描述】:

我正在尝试将 SpreadSheetLight 添加到在 Windows Server 2019 上运行的新 Dnn v9.10.2 项目,但我收到运行时错误提示

CS0433:“Image”类型存在于“System.Drawing.Common”中, 版本=4.0.0.1,文化=中性,PublicKeyToken=cc7b13ffcd2ddd51' 和 'System.Drawing,版本=4.0.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'

当我将 dll 复制到 bin 文件夹中时。我有一个使用 System.Drawing 的文件,但它在其引用中使用了完整的命名空间。我尝试将它们更新为 System.Drawing.Common,但它却引发了错误

CS0234:类型或命名空间名称“Common”不存在于 命名空间“System.Drawing”(您是否缺少程序集引用?)

使用 System.Drawing 注释掉代码行解决了运行时错误,但最终在尝试打开和关闭空白工作簿的简单测试时抛出异常

System.PlatformNotSupportedException:不支持 System.Drawing 在这个平台上。

我找不到太多关于如何解决此问题的信息,因此我们将不胜感激。

【问题讨论】:

    标签: c# dotnetnuke system.drawing spreadsheetlight system.drawing.common


    【解决方案1】:

    乍一看,这个库似乎是 .NET 3.5 库,而 DNN 平台 9.10.2 是 .NET Framework 4.7.2,您很可能会遇到 .NET 4.7 更改的兼容性问题。

    看起来 SpereadSheetLight 的源代码可用,您可以尝试为 .NET 4.7.2 重新编译它,看看是否可以解决问题。

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2022-01-04
      • 2014-10-24
      相关资源
      最近更新 更多