Как получить информацию о сборке в .NET CoreC#

Место общения программистов C#
Anonymous
Как получить информацию о сборке в .NET Core

Сообщение Anonymous »

Я пытаюсь получить значения:
  • Авторы
  • Пакет
  • Версия
  • Примечания к выпуску
  • Теги
которые определены в «свойствах» проекта VS 2022 (а также в файле .csproj).
Используя синтаксис:

Код: Выделить всё

var myVar => Assembly.GetEntryAssembly().GetCustomAttribute().[Attribute]
Мне удалось получить значения большинства атрибутов (компания, авторские права, описание и т. д.), но не значения атрибутов, перечисленных выше.
Я просмотрел файл

D:\Path\project\obj\Debug\net6.0-windows\project.AssemblyInfo. cs

И убедитесь, что атрибуты доступны с помощью
"Assembly.GetEntryAssembly().GetCustomAttribute().[Атрибут]"
определены в этом файле.

Код: Выделить всё

//------------------------------------------------------------------------------
// 
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// 
//------------------------------------------------------------------------------

using System;
using System.Reflection;

[assembly: System.Reflection.AssemblyCompanyAttribute("Wm. Eric Brunsen")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright 2018, Wm. Eric Brunsen, All rights reserved")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Shooting Range Management Software")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Range Manager")]
[assembly: System.Reflection.AssemblyTitleAttribute("RangeMgr")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]

// Generated by the MSBuild WriteCodeFragment class.
Итак, мои вопросы:
  • Есть ли способ получить значения атрибутов, определенные в пользовательский интерфейс "свойства" и .csproj, но недоступны через
    Assembly.GetEntryAssembly().GetCustomAttribute().[Attribute]
    ?
  • Поскольку в заголовке файла project.AssemblyInfo.cs указано, что он создается с помощью инструмента, если я добавляю значения атрибуты этого файла останутся или будут потеряны при каждой компиляции приложения?


Подробнее здесь: https://stackoverflow.com/questions/739 ... n-net-core

Вернуться в «C#»