假设在我的* .cs文件的顶部,我包含了一些依赖项:
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
是否也可以在此处显示版本号,如下所示?
using System; //1.0.1
using System.Collections.Generic; //22.0.1
using System.IdentityModel.Tokens.Jwt; //3.56.2
etc
答案 0 :(得分:2)
例如,System
命名空间的成员位于mscorlib.dll
,System.dll
,System.Core.dll
等。这些程序集都不属于任何特定程序包,因为它们是CLR实现中BCL的一部分。此外,任何人都可以在namespace System
中自由声明自己的类型。
关于“软件包”:CLR完全没有意识到它们:它们是设计时的关注点;相反它所关心的是要链接的DLL文件。您根本不必使用NuGet软件包(.NET开发人员在没有内置软件包管理器的前13年中幸存下来。)
Note that NuGet allows you to have multiple DLL files a single package,并且包作者不需要“拥有”(合法或其他)包含在其中的DLL,这意味着多个NuGet包可以共享相同的程序集DLL,并且这些DLL可以共享命名空间。
我对你的这些话感到疑问:
我包含了一些依赖项:
请记住,C#不是TypeScript - 尽管语法上有相似之处(比如C与C ++相比)它们是非常不同的 - 将命名空间导入称为“包含依赖项”是不合适的 - 它只是语法 - 而在TypeScript中语句import { Foo } from './bar'
不仅仅是语法,因为它将调用运行时平台的包/模块导入系统,而C#中的using
是一个完全 inert 语句,只是简单地节省了你的输入每次使用标识符时global::The.Full.Namespace.Name
。