如何通过 f# 使用 NuGet 包和命名空间

发布于 2025-01-06 14:12:42 字数 585 浏览 0 评论 0原文

我有一个小问题,我正在尝试将 twitterizer 与 af# 应用程序一起使用。这是我第一次使用 NuGet,我安装它并从 NuGet Repo 下载 twitterizer,它出现在我的参考资料中,到目前为止一切顺利,但现在,当我尝试使用它时,我得到:

名称空间或模块 Twitterizer 未定义

open Twitterizer (actually the intellisense detect twitterizer good)

在 c# 中使用的是:

using Twitterizer;

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

,但在我的例子中是一个参考而不是一个文件..我知道这是一个非常菜鸟的问题,但我看不到错误

I've a little problem, I'm trying use twitterizer with a f# app..this is the first time than I use NuGet, I install it and download twitterizer from NuGet Repo, It appear inside my references, so far so good, but now, when I try use it I get:

The namespace or module Twitterizer is not defined

I'm using

open Twitterizer (actually the intellisense detect twitterizer good)

in c# would be:

using Twitterizer;

I was reading a similar question:
F# defining/using a type/module in another file in the same project

but in my case is a reference and not a file..I know than it is a very noob question but I can't see the mistake

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光是把杀猪刀 2025-01-13 14:12:42
  1. 如果您在 .fs 文件中使用它(打开 Twitterizer)。您确定 Twitterizer 程序集仍在您尝试使用它的项目中的引用中吗?

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

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

因此,从技术上讲,NuGet 只是下载(如果需要)您需要的程序集及其依赖项,并首先将对其的引用添加到您的一个项目中,仅此而已。然后您就可以使用该程序集,就像您自己下载它一样。

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

  1. If you use it (open Twitterizer) in .fs file. Are you sure that Twitterizer assembly is still in references in project where you try to use it?

  2. If you use it in a script file (.fsx). Are you sure that you specify path in #r correctly with full path to Twitterizer assembly?

Actually referencing assemblies via NuGet or not doesn't affect the way you reference them. NuGet can initialy add reference to needed assembly (Twitterizer in your case), but it won't keep that reference forever if you decide to delete the reference. Additionaly, when you install assembly via NuGet it could add reference to one of you project, and then you try to use this assembly in another project where reference to Twitterizer assembly wasn't specified.

So techicaly NuGet just downloads (if needed) assembly you need with its dependencies and initialy adds reference to it into one of you project, that's all. Then you can work with this assembly as if you downloaded it yourself.

So, check references in all projects from which you try to use Twitterizer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文