.net “GenerateEmbeddedFilesManifest”是如何工作的?

eqoofvh9  于 2023-06-07  发布在  .NET
关注(0)|答案(1)|浏览(248)

我一直在研究Microsoft.Extensions.FileProviders.Embedded是如何工作的。我想知道它是如何能够参与到编译过程中来生成一个嵌入的xml文件的。
让我解释一下。
当我将Microsoft.Extensions.FileProviders.Embedded Nuget包包含到我的项目中并添加

<PropertyGroup>
    .... (removed)
    <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>   
 </PropertyGroup>

编译后的程序集包含一个Microsoft.Extensions.FileProviders.Embedded.Manifest.xml清单资源。
但是,当我不包含这个Nuget包,而是将GenerateEmbeddedFilesManifest保留在项目文件中时,这个xml文件嵌入的资源是生成的。
因此,这个Nuget包似乎参与了编译过程,它似乎能够读取项目文件,然后使用此信息生成嵌入式资源。
我的问题是理解.NET中允许这种情况发生的机制(因为我想复制这种行为)。
我在源代码中看不到任何这样做的东西。https://github.com/dotnet/aspnetcore/tree/main/src/FileProviders/Embedded/src

相关问题