Добавьте FreeImage .NET в решение

Я следил за сообщениями об этом, но я все еще не делаю несколько шагов. Я новичок в С#, и это, вероятно, проблема. Я хотел бы небольшую помощь (я стучал по этому всему дню).

Я могу открыть решение FreeImage.NET (кстати, 64-разрядная машина Win7) в Visual Studio. В этом сообщении говорится, что мне нужно собрать его, чтобы получить DLL С#. Когда я его создаю, я получаю сотни ошибок «тип или пространство имен« Имя »не найдено».

Нужно ли сначала добавить C++ DDL? Я перетащил его на решение, но все равно ошибки.

Я делаю что-то простое и неправильное?

В частности, я пытаюсь добавить FreeImage в проект в С# Visual Studio Express 2012.

Спасибо, Дэн


person DanG    schedule 27.04.2013    source источник
comment
это точно ошибка?   -  person box86rowh    schedule 27.04.2013
comment
Кроме того, почему бы просто не загрузить предварительную dll из: freeimage.sourceforge.net/download.html тогда вам не нужно беспокоиться о сборке?   -  person box86rowh    schedule 27.04.2013
comment
Есть ли что-то еще, что вы искали?   -  person Patrick D'Souza    schedule 27.04.2013
comment
@box86rowh: не уверен, что ты имеешь в виду. Я посмотрел на страницу и не понял, что вы предлагаете скачать.   -  person DanG    schedule 30.04.2013
comment
Я имел в виду загрузку DLL, указанную на этой странице: Двоичный дистрибутив FreeImage DLL включает DLL, компоновочную LIB, заголовочный файл, оболочки C++, C#, Delphi и VB6 и примеры. Скачать FreeImage 3.15.4 [WIN32]   -  person box86rowh    schedule 30.04.2013


Ответы (1)


После загрузки версии FreeImage.NET я открыл следующий файл решения VS2005 в VS2012 (это единственный файл, который у меня есть)

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

После обновления проекта и его первой сборки я увидел около 491 ошибки. Если вы откроете ссылки проекта UnitTest.2005, вы увидите, что сборка nunit.framework отсутствует. Если у вас установлен nuget, в VS2012 вы можете

Щелкните правой кнопкой мыши ссылки > Управление пакетами NuGet > Найдите NUnit и установите его.

На изображении ниже мы видим, что сборка nunit.framework слинкована правильно. введите здесь описание изображения

После этого осталось всего 50 ошибок, и все они были из-за того, что были включены проверки файлов Xml Documentation. Вы можете отключить эту проверку, как показано ниже в проекте Library.2005.

Постройте снова, и это должно получиться.

ПРИМЕЧАНИЕ. веб-сайт FreeImage предоставляет только 32-разрядную версию DLL, поэтому для использования этой DLL вам необходимо убедиться, что вы установили версию своего проекта на 32-битную. Чтобы получить 64-разрядную версию библиотеки FreeImage DLL, вам необходимо загрузить их проект с исходным кодом и вручную выполнить 64-разрядную сборку, как показано в этом блог.

person Patrick D'Souza    schedule 27.04.2013
comment
Я написал, что VS 2010 и VS 2012 не указаны в списке поддерживаемых, но я удалил его, поскольку Ромулус заявил, что у него есть VS 2012, и это сработало для него. - person Zeddy; 27.04.2013
comment
@ZafKhan: Да, в vs2012 все работало нормально. Я тоже был удивлен. Стоит отметить, что мне пришлось установить рабочую область как 32-разрядную версию, так как я скачал 32-разрядную версию FreeImage.dll. Как с FreeImage.dll, так и с его оболочкой, т.е. FreeImageNET.dll в моей папке сборки, все работало нормально. - person Patrick D'Souza; 27.04.2013
comment
Похоже, их сайт нуждается в обновлении с учетом того, что поддерживаются VS2010 и VS2012. - person Zeddy; 27.04.2013
comment
Спасибо, Ромул, ваши подробные инструкции очень ценны, сработало именно так, как вы говорите. Мне нужно было найти nunit в веб-разделе «Управление пакетами NuGet» и установить его. Кажется, теперь я могу использовать обертку. См. эту тему, где Денвер помогает с дальнейшими шагами. . - person DanG; 30.04.2013
comment
Здравствуйте, @DanG. Рад, что вам удалось решить проблемы. Я тоже столкнулся с 32-битной проблемой, но допустил ошибку, добавив эту информацию в качестве комментария. Смотрите второй комментарий, я добавил его в основной пост. - person Patrick D'Souza; 30.04.2013