如何在f#中使用NuGet包和命名空间

时间:2012-02-17 00:31:18

标签: .net f# assemblies nuget

我有点问题,我正在尝试使用带有af#app的twitterizer。这是我第一次使用NuGet,我安装它并从NuGet Repo下载twitterizer,它出现在我的引用中,到目前为止很好,但是现在,当我尝试使用它时,我得到了:

未定义名称空间或模块Twitterizer

我正在使用

open Twitterizer (actually the intellisense detect twitterizer good)
c#中的

将是:

using Twitterizer;

我正在阅读类似的问题: F# defining/using a type/module in another file in the same project

但在我的情况下是一个参考,而不是一个文件..我知道这是一个非常菜鸟问题,但我看不出错误

1 个答案:

答案 0 :(得分:3)

  1. 如果您在open Twitterizer文件中使用它(.fs)。你确定Twitterizer程序集仍然在你试图使用它的项目的引用中吗?

  2. 如果您在脚本文件(.fsx)中使用它。您确定在#r中正确指定了路径以及Twitterizer程序集的完整路径吗?

  3. 实际上,通过NuGet引用程序集不会影响引用它们的方式。 NuGet可以初始添加对所需程序集的引用(在您的情况下为Twitterizer),但如果您决定删除引用,它将永远不会保留该引用。另外,当您通过NuGet安装程序集时,它可以添加对您的某个项目的引用,然后您尝试在另一个未指定对Twitterizer程序集的引用的项目中使用此程序集。

    所以,技术上NuGet只需下载(如果需要)你需要的程序集及其依赖项,并初步将对它的引用添加到你的一个项目中,就是这样。然后,您可以使用此程序集,就像您自己下载它一样。

    因此,请检查您尝试使用Twitterizer的所有项目中的引用。