Добавить ссылку на сборку в .NET

Мне трудно установить пакет GemBox.Spreadsheet в моем приложении .NET. Я впервые использую .NET (C#). У меня Node.JS фон, поэтому я не понимаю проблемы.

Я уже установил с dnu install GemBox.Spreadsheet и все выглядит нормально, но я все еще вижу ошибку 'The type or namespace name 'GemBox' could not be found'

ОБНОВИТЬ -

Я нашел этот вопрос и попытался воспроизвести, но не не работает.

Это мой проект.json:

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "NETStandard.Library": "1.0.0-rc2-23811",
    "GemBox.Spreadsheet": "39.3.30.1153"
  },
  "frameworks": {
    "dnxcore50": {
        "GemBox.Spreadsheet": "39.3.30.1153"
    }
  }
}

Спасибо.


person Community    schedule 07.04.2016    source источник


Ответы (2)


Этот пакет не совместим с dnxcore50, он работает только на настольной платформе .NET Framework.

Вам нужно настроить фреймворк рабочего стола в файле project.json (имейте в виду, что вы не будете работать в CoreCLR). Например, вы можете изменить свою структуру на dnx451.

что означает dnxcore50?

Чтобы полностью ответить на этот вопрос, потребуется довольно много времени, но вот суть.

Вы используете так называемый проект типа "project.json" для .NET. Они новые, и они находятся в бета-версии/предварительном просмотре.

Еще одним компонентом этого является то, что у Microsoft есть несколько сред выполнения. Существует среда рабочего стола, которая представляет собой .NET Framework, существующую с 2001 года, и существует множество других .NET Framework. Другой, например, .NET Core. Core может работать в операционных системах, отличных от Windows, но у него нет такого же набора функций, как у Desktop .NET Framework. В вашем файле project.json у вас есть dnxcore50 в качестве поддерживаемой вами платформы, то есть .NET Core.

Однако этот пакет nuget, который вы пытаетесь использовать, не поддерживает эту платформу. Он поддерживает только настольную .NET Framework. Вы можете изменить структуру, которую использует ваше приложение, изменив dnxcore50 на dnx451. Однако это будет означать, что ваш проект может работать только на Desktop .NET Framework в Windows и, возможно, в Mono на OS X.

person vcsjones    schedule 07.04.2016
comment
Привет, vcsjones, я немного запутался, что значит dnxcore50? - person ; 07.04.2016
comment
@vcsjones Вы правы, по какой-то причине я продолжал читать это как GameBox, и это то, что я искал. Извините за путаницу! - person CodingGorilla; 07.04.2016
comment
@FátimaAlves У вас есть файл project.json, предполагающий, что вы используете ASP.NET 5 (вместо этого обычные/старые проекты C# будут иметь файл .csproj). Это нацелено на более современные мультиплатформенные библиотеки .NET Core, а не на стандартную .NET для настольных компьютеров. Однако модуль GemBox не работает в среде выполнения Core. Итак, перейдите к настройкам вашего проекта; это должно позволить вам выбрать целевую структуру (ы) - выберите настольную (вероятно, 4.6). - person Zastai; 07.04.2016
comment
Хм... я использую OS X (Mono), это имеет значение? - person ; 07.04.2016
comment
@FátimaAlves, если вы используете моно, я бы попробовал изменить dnxcore50 на dnx451 и посмотреть, может ли ваш проект работать. - person vcsjones; 07.04.2016

Попробуйте следующее:

В обозревателе решений выберите проект. Позже в меню «Проект» нажмите «Добавить ссылку». После этого добавьте новую ссылку на dll с именем GemBox.Spreadsheet. Он должен быть на вкладке .net.

Наконец, в верхней части пространства имен вашего кода используйте:

using GemBox.Spreadsheet;
person Moises Quintero Orea    schedule 07.04.2016
comment
Я использую VS CODE (OS X), у меня нет этого пункта меню. Я забыл указать свою ОС, извините. - person ; 07.04.2016