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

3

我有一个小问题,我正在尝试将Twitterizer与f#应用程序一起使用..这是我第一次使用NuGet,我安装它并从NuGet Repo下载了twitterizer,它出现在我的引用中,到目前为止一切都很好,但是现在,当我尝试使用它时,我会得到:

命名空间或模块Twitterizer未定义

我正在使用

open Twitterizer (actually the intellisense detect twitterizer good)

在C#中,应该是这样的:

using Twitterizer;

我正在阅读一个类似的问题: F#如何定义/使用同一项目中另一个文件中的类型/模块

但在我的情况下,这是一个引用而不是一个文件。我知道这是一个非常初级的问题,但我看不到错误所在。

你是在编译还是使用 F# Interactive? - Brian
1个回答

3
  1. 如果你在.fs文件中使用Twitterizer,请确保你尝试使用它的项目中仍然有Twitterizer程序集作为引用。

  2. 如果你在脚本文件.fsx中使用Twitterizer,请确保你以正确的完整路径在#r中指定了Twitterizer程序集的路径。

实际上,通过NuGet是否引用程序集并不影响你引用它们的方式。NuGet在下载所需程序集(在你的情况下是Twitterizer)时可能会添加引用,但是如果你决定删除引用,它将不会永远保留该引用。此外,当你通过NuGet安装程序集时,它可能会在你的一个项目中添加引用,然后你尝试在另一个没有指定对Twitterizer程序集的引用的项目中使用该程序集。

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


嗨..我注意到您是Twitterizer的作者..好吧,我可以通过阅读Klaus Byskov的响应来解决问题https://dev59.com/LG855IYBdhLWcg3wrGdY 我认为您可能应该在Twitterizer页面中添加此信息..也许存在其他像我这样的新手会觉得它很有用:D ...感谢您回答我的问题并提供Twitterizer库... - clagccs
@CocoOS 不,我不是Twitterizer的作者,实际上我甚至不知道它是什么。对不起 :) - Dmitrii Lobanov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接