是否可以在使用旁边显示包版本号?
Is it possible to display package version numbers next to the usings?
假设在我的 *.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
不,你不能。这是因为 C# 和 .NET 不像 Java、TypeScript 和其他语言那样将命名空间、包和库的概念结合在一起 - 在 .NET 中它们是完全独立的:多个包可以包含相同的库 DLL 文件,并且多个库 DLL 可以为共享和不同的命名空间做出贡献。
例如,System
命名空间的成员位于 mscorlib.dll
、System.dll
、System.Core.dll
等。 None 这些程序集属于任何特定包,因为它们是 CLR 实现中 BCL 的一部分。此外,任何人都可以在 namespace System
.
中自由声明自己的类型
关于 "packages":CLR 完全不知道它们:它们是设计时的问题;相反,它关心的是 link 的 DLL 文件。您根本不必使用 NuGet 包(.NET 开发人员在没有内置包管理器的情况下在最初的 13 年中生存得很好)。
Note that NuGet allows you to have multiple DLL files a single package,并且包作者不需要 "own"(合法或其他方式)其中包含的 DLL,这意味着多个 NuGet 包可以共享同一个程序集 DLL,而那些 DLL可以共享命名空间。
我对你的这些话有异议:
I am including some dependencies:
请记住,C# 不是 TypeScript - 尽管语法相似(如 C 与 C++ 相比),但它们非常不同 - 将命名空间导入称为 "including dependencies" 是不合适的 - 它只是语法 - 而在 TypeScript 中,语句 import { Foo } from './bar'
不仅仅是语法,因为它将调用运行时平台的 package/module 导入系统,而 C# 中的 using
完全是 inert 语句,使您无需每次使用标识符时都键入 global::The.Full.Namespace.Name
。
假设在我的 *.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
不,你不能。这是因为 C# 和 .NET 不像 Java、TypeScript 和其他语言那样将命名空间、包和库的概念结合在一起 - 在 .NET 中它们是完全独立的:多个包可以包含相同的库 DLL 文件,并且多个库 DLL 可以为共享和不同的命名空间做出贡献。
例如,System
命名空间的成员位于 mscorlib.dll
、System.dll
、System.Core.dll
等。 None 这些程序集属于任何特定包,因为它们是 CLR 实现中 BCL 的一部分。此外,任何人都可以在 namespace System
.
关于 "packages":CLR 完全不知道它们:它们是设计时的问题;相反,它关心的是 link 的 DLL 文件。您根本不必使用 NuGet 包(.NET 开发人员在没有内置包管理器的情况下在最初的 13 年中生存得很好)。
Note that NuGet allows you to have multiple DLL files a single package,并且包作者不需要 "own"(合法或其他方式)其中包含的 DLL,这意味着多个 NuGet 包可以共享同一个程序集 DLL,而那些 DLL可以共享命名空间。
我对你的这些话有异议:
I am including some dependencies:
请记住,C# 不是 TypeScript - 尽管语法相似(如 C 与 C++ 相比),但它们非常不同 - 将命名空间导入称为 "including dependencies" 是不合适的 - 它只是语法 - 而在 TypeScript 中,语句 import { Foo } from './bar'
不仅仅是语法,因为它将调用运行时平台的 package/module 导入系统,而 C# 中的 using
完全是 inert 语句,使您无需每次使用标识符时都键入 global::The.Full.Namespace.Name
。