程序集名称、程序集信息标题和程序集信息产品之间的区别?

Difference Between Assembly Name, Assembly Information Title, and Assembly Information Product?

我正在查看 C# WPF 应用程序的属性信息 Visual Studio 2017,并注意到打开新解决方案时有许多字段默认为解决方案名称。我不知道这是否特定于 C#、WPF 或 Visual Studio 2017。

我认为在将多个项目添加到解决方案时,解决方案名称和项目名称之间的差异变得更加合理,但我对其他一些字段感到困惑。有一个关于命名空间与程序集名称的问题,Zaheer Ahmed 的回答写得很好。 Namespace or Assembly?

Namespace is a logical grouping of classes belongs to same functionality. So System.Web and System.Data are namespaces

Assembly is chunk of (precompiled) code that can be executed by the .NET runtime environment. It contains one or more than one Namespaces. A .NET program consists of one or more assemblies. System.Web.dll and System.Data.dll are assemblies.

以下有什么区别?

这是 Visual Studio 2017 年的观点。

一个解决方案可能包含一个或多个项目,以及构建信息、Visual Studio window 设置以及与任何特定项目无关的任何杂项文件。请参阅 MSDN 了解更多信息。

Visual Studio中的解决方案和项目:https://msdn.microsoft.com/en-us/library/b142f8e7.aspx

所以解决方案有一个名称,解决方案中的每个项目也有一个名称。

一个项目在构建时被编译成一个程序集,默认情况下这个程序集的名称与项目的名称相同。您可以通过在 Visual Studio.

中的 Project->Properties->Assembly name TextBox 中为程序集指定另一个名称来更改此设置

默认命名空间是您添加到项目根文件夹的任何class默认所属的命名空间。

了解 Visual Studio 的默认命名空间: http://www.blackwasp.co.uk/VSNamespaces.aspx

命名空间(C# 参考): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/namespace

并且程序集属性只是提供有关程序集信息的值:https://docs.microsoft.com/en-us/dotnet/framework/app-domains/set-assembly-attributes。例如,如果您 right-click 在 Window 资源管理器中的程序集(.dll 或 .exe)上并选择“属性”->“详细信息”,您将看到这些。