.net - 为什么'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
任意包的内容呢?
解决方案
通常遵循某些“命名约定”,但它们大多是约定而不是强制执行的,因此它可能因包而异。
通常,公共包有一些教程/文档来显示需要使用的内容。但是你也可以Class View
在 Visual Studio 中使用查看所有导入的命名空间/类,这是基于包元数据的
如果您仍然无法理解包的作用,也可以使用像 dotPeek ( https://www.jetbrains.com/decompiler/ ) 这样的反编译器,但根据包的许可可能不允许这样做.
推荐阅读
- codeigniter - 在 MYSQL 中使用 id 生成准入号。我想要来自 CodeIgniter 的代码
- azure-devops - Kentico Multisite Azure Application Gateway App Service MVC 配置问题 - 502 错误
- ios - 如何使用“图表”创建空标签?
- reactjs - 反应原生的奇怪功能?
- angular - 如何防止用户在输入文本框中输入超过指定数量的角度输入字符?
- spring-boot - 错误:不可解析的父 POM:无法传输工件 org.springframework.boot:spring-boot-starter-parent:pom
- classification - 任何深度学习模型用于图像中的实例分类,而不是边界框?
- css - Clip-path alternatives for reveal text
- python - 如何将数据框列表除以值列表?
- python - 关于 UserList __init__, ( [:], isinstance ) 的问题