首页 > 解决方案 > 为什么'using'子句不接受包的名称

问题描述

我刚刚开始在 Visual Studio 中探索 NuGet,所以这几乎是一个初学者问题。我试图了解在解决方案资源管理器中显示的 NuGet 包的名称是否始终是我们在using子句中包含的内容?这是上下文。我正在使用 Visual Studio 2019。我在面向 .NET 5.0 框架的解决方案中创建了一个存根项目(控制台应用程序)。这是存根:-

using System;

namespace Random
{
    class Program
    {
        static void Main(string[] args)
        {
           
        }
    }
}

现在,我使用解决方案资源管理器中的“管理 NuGet 包”选项针对名为 itext7 7.1.15 的项目(项目网址https://itextpdf.com/ )安装了 NuGet 包。包安装成功。

在此处输入图像描述

正如您在屏幕截图中看到的那样,包的名称显示为“itext7”,因此我将它包含在我的代码中,如下面的屏幕截图所示,但您可以看到它没有被识别:-

在此处输入图像描述

我的实际问题是——假设我只是随机安装任何 NuGet 包,我在解决方案资源管理器中看到的包名称是否没有足够的知识来using针对该包发布声明?在我尝试过的许多其他软件包中,这很有效。那么,一个人如何确切地知道用于using任意包的内容呢?

标签: .netvisual-studionugetvisual-studio-2019nuget-package

解决方案


通常遵循某些“命名约定”,但它们大多是约定而不是强制执行的,因此它可能因包而异。

通常,公共包有一些教程/文档来显示需要使用的内容。但是你也可以Class View在 Visual Studio 中使用查看所有导入的命名空间/类,这是基于包元数据的

如果您仍然无法理解包的作用,也可以使用像 dotPeek ( https://www.jetbrains.com/decompiler/ ) 这样的反编译器,但根据包的许可可能不允许这样做.


推荐阅读