Как использовать пакеты NuGet и пространства имен с f # - PullRequest
3 голосов
/ 17 февраля 2012

У меня небольшая проблема, я пытаюсь использовать твиттер-браузер с приложением af #. Это первый раз, когда я использую NuGet, я устанавливаю его и загружаю твитайзер из NuGet Repo. Похоже, в моих ссылках покатак хорошо, но теперь, когда я пытаюсь использовать его, я получаю:

Пространство имен или модуль Twitterizer не определены

Я использую

open Twitterizer (actually the intellisense detect twitterizer good)

в c # будетбыть:

using Twitterizer;

Я читал аналогичный вопрос: F # определение / использование типа / модуля в другом файле в том же проекте

, но в моем случае этоссылка, а не файл .. Я знаю, что это очень нубский вопрос, но я не вижу ошибки

1 Ответ

3 голосов
/ 17 февраля 2012
  1. Если вы используете его (open Twitterizer) в .fs файле. Вы уверены, что сборка Twitterizer все еще находится в ссылках в проекте, где вы пытаетесь его использовать?

  2. Если вы используете его в файле сценария (.fsx). Вы уверены, что указали путь в #r правильно, указав полный путь к сборке Twitterizer?

Реальная ссылка на сборки через NuGet или нет не влияет на то, как вы ссылаетесь на них. NuGet может изначально добавить ссылку на нужную сборку (в вашем случае это Twitterizer), но она не сохранит эту ссылку навсегда, если вы решите удалить ссылку. Кроме того, когда вы устанавливаете сборку через NuGet, он может добавить ссылку на один из ваших проектов, а затем вы попытаетесь использовать эту сборку в другом проекте, где ссылка на сборку Twitterizer не указана.

Итак, технически NuGet просто загружает (при необходимости) необходимую вам сборку со своими зависимостями и вначале добавляет ссылку на нее в один из ваших проектов, вот и все. Тогда вы можете работать с этой сборкой, как если бы вы загрузили ее самостоятельно.

Итак, проверьте ссылки во всех проектах, из которых вы пытаетесь использовать Twitterizer.

...