Читайте авторов сборки - PullRequest
       50

Читайте авторов сборки

1 голос
/ 08 февраля 2020

Довольно просто прочитать некоторые метаданные сборки, просто загрузите Assembly и получите пользовательские атрибуты, например:

Assembly assembly = Assembly.GetExecutingAssembly();
AssemblyTitleAttribute? attribute = assembly.GetCustomAttribute<AssemblyTitleAttribute>();
string? title = attribute?.Title;

Вы можете заменить AssemblyTitleAttribute несколькими другими как Copyright, Trademark, Description, Version, но я не могу найти что-то для Authors (эти метаданные могут быть установлены в том же месте, что и другое, на вкладке пакета проекта). решение).

enter image description here

Есть идеи, почему этот атрибут отсутствует и как можно прочитать его значение? (Я использую до tnet стандарт 2.1)

1 Ответ

1 голос
/ 09 февраля 2020

Существует Нет сборки Attribute для Authors, также нельзя запросить ее через Reflection или Shell32

Вот список из AssembyInfo атрибутов и Authors не является одним из них

Согласно обновленному снимку экрана в вопросе, вы ссылаетесь на Project>Properties>Package представление, и поля, которые вы видите здесь, являются смесь AssemblyInfo & Свойства метаданных Nuget

Такие свойства, как Copyright и Description, являются общими для обоих

Где такие свойства, как PackageId, Authors, PackageVersion - это Свойства метаданных Nuget , которые нельзя запросить из сборки.
Свойства метаданных Nuget представляют собой список свойств, которые используются как входные данные для процесса упаковки

Почему у нас есть Авторы в качестве поля в Project>Properties>Package?

  • Это так, что nuget.org может использовать ссылки для отображения имени автора

От Microsoft Do c

Авторы: Список авторов пакетов, разделенных точкой с запятой, соответствующих именам профилей на nuget.org. Они отображаются в галерее NuGet на nuget.org и используются для перекрестных ссылок на пакеты тех же авторов.

Ссылки:

Свойства метаданных Nuget

Настройка расширенных свойств :

Атрибуты пользовательских сборок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...