C# 以编程方式从项目文件访问元数据

C# 以编程方式从项目文件访问元数据,c#,.net,.net-core,assemblyinfo,project-settings,C#,.net,.net Core,Assemblyinfo,Project Settings,在VS2019/.NET Core 3.0中,项目元数据保存在项目文件中: <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <UseWPF>true</UseWPF> <Authors>.....</Authors>

在VS2019/.NET Core 3.0中,项目元数据保存在项目文件中:

<PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
    <Authors>.....</Authors>
    <Description>.....</Description>
    <NeutralLanguage>.....</NeutralLanguage>
    <Copyright>.....</Copyright>
    <StartupObject>.....</StartupObject>
    <ApplicationIcon>.....</ApplicationIcon>
    <Company>.....</Company>
    <PackageTags>.....</PackageTags>
    <PackageReleaseNotes>.....</PackageReleaseNotes>
    <PackageProjectUrl>.....</PackageProjectUrl>
    <PackageIconUrl>.....</PackageIconUrl>
    <RepositoryUrl>.....</RepositoryUrl>
    <RepositoryType>.....</RepositoryType>
</PropertyGroup>

温克斯
netcoreapp3.0
真的
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
其中一些值可以通过版本或自定义属性访问。但是一些新的值,如
作者
打包标签
。。。还不是
AssemblyInfo
处理的一部分


我的问题是:如何从我的应用程序中访问这些值?

如果发布一个目标NuGet包,这些属性与目标NuGet包相关。它们不会嵌入到您的应用程序中,因此您无法访问它们

有关更多信息,请阅读.NET Core的csproj格式的新增文档,尤其是主题

以下是使用dotnet pack命令或作为SDK一部分的pack MSBuild目标时用作打包过程输入的属性列表

  • 作者
  • 包装袋

如果发布目标NuGet包,则这些属性与该包相关。它们不会嵌入到您的应用程序中,因此您无法访问它们

有关更多信息,请阅读.NET Core的csproj格式的新增文档,尤其是主题

以下是使用dotnet pack命令或作为SDK一部分的pack MSBuild目标时用作打包过程输入的属性列表

  • 作者
  • 包装袋

如果要在运行时从项目文件访问属性,一种方法是使用MSBuild功能(例如,通过预生成命令)创建一个包含这些值的文件,并将此文件作为资源包含到程序集中。如果要在运行时从项目文件访问属性,一种方法是使用MSBuild功能(例如,通过PreBuild命令)创建包含这些值的文件,并将此文件作为资源包含到程序集中。