【问题标题】:Add FreeImage .NET to solution将 FreeImage .NET 添加到解决方案
【发布时间】:2014-05-15 01:04:42
【问题描述】:

我已经关注了这方面的帖子,但我仍然没有走几步。我是 C# 新手,这可能就是问题所在。我很想得到一点帮助(我整天都在努力)。

我可以在 Visual Studio 中打开 FreeImage.NET 解决方案(Win7 64 位机器)。 This post 说我需要构建它来获取 C# dll。当我构建它时,我收到数百个错误“找不到类型或名称空间'名称'”。

是否需要先添加 C++ DDL?我将它拖放到解决方案上,但仍然出现错误。

我在做一些简单而错误的事情吗?

具体来说,我正在尝试将 FreeImage 添加到 C# Visual Studio Express 2012 中的项目中。

谢谢, 丹

【问题讨论】:

  • 那是确切的错误吗?
  • 另外,为什么不直接从 freeimage.sourceforge.net/download.html 下载预构建 dll,那么您不必担心构建?
  • 你还有什么要找的吗?
  • @box86rowh:不确定你的意思。我查看了页面,不清楚您建议下载哪个。
  • 我指的是该页面上链接的 DLL 下载:FreeImage DLL 二进制分发包括 DLL、链接 LIB、头文件、C++、C#、Delphi 和 VB6 包装器以及示例。下载 FreeImage 3.15.4 [WIN32]

标签: c# dll freeimage


【解决方案1】:

下载FreeImage.NET版本后,我在VS2012中打开了如下VS2005解决方案文件。(这是我唯一的一个)

FreeImage3154\FreeImage\Wrapper\FreeImage.NET\cs\FreeImage.NET.2005.sln

在升级项目并首次构建后,我看到了大约 491 个错误。如果您打开 UnitTest.2005 项目的引用,您将看到 nunit.framework 程序集丢失。如果你安装了nuget,在VS2012中你可以

右键单击引用 > 管理 NuGet 包 > 搜索 NUnit 并安装它。

在下图中,我们看到nunit.framework 程序集已正确链接。

执行此操作后,只剩下 50 个错误,它们都是因为启用了 Xml 文档文件检查。您可以在Library.2005 项目中禁用此检查,如下所示。

再次构建,应该会成功。

注意:FreeImage website 仅提供 32 位版本的 DLL,因此要使用此 DLL,您必须确保将项目版本设置为 32 位。要获得 FreeImage DLL 的 64 位版本,您需要下载他们的源代码项目并手动构建 64 位版本,如 blog 所示。

【讨论】:

  • 我曾发表过认为 VS 2010 和 VS 2012 未被列为受支持的想法,但我删除了它,因为 Romulus 表示他有 VS 2012 并且它为他工作。
  • @ZafKhan:是的,它在 vs2012 中运行良好。我也很惊讶。值得注意的是,我必须将工作区设置为 32 位版本,因为我下载了 32 位版本的 FreeImage.dll。使用我的构建文件夹中的 FreeImage.dll 及其包装器(即 FreeImageNET.dll),它运行良好。
  • 听起来他们的网站需要更新以支持 VS2010 和 VS2012。
  • 谢谢,罗穆卢斯,非常感谢您的详细说明,正如您所说的那样。我需要在管理 NuGet 包的 web 部分中搜索 nunit 并安装它。看来我现在可以使用包装器了。请参阅this thread,丹佛在后续步骤中提供帮助。
  • 您好@DanG,很高兴您设法解决了问题。我也遇到过 32 位问题,但我错误地将该信息添加为评论。请参阅第二条评论,我已将其添加到主帖中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多