为什么VS2019还在复制内嵌资源到output文件夹?

Why is VS2019 still copying embedded resources to the output folder?

当我尝试通过 .csproj 文件中的 EmbeddedResource 将资源嵌入到 .NET Core Webservice 项目中时,这些资源也被复制到输出文件夹中,尽管我选择了 NOT 选项在构建操作下拉菜单中复制。

嵌入资源的部分如下所示:

<ItemGroup>
  <EmbeddedResource Include="Resources\logging.json" />
</ItemGroup>

在另一个作为库的 .NET Core 项目中,资源被嵌入并且不会被复制到输出目录。

在那里,代码段如下所示:

<ItemGroup>
  <EmbeddedResource Include="LicenseText\*.txt" />
</ItemGroup>

对这种行为有解释吗?

我可以在我这边重现你的问题。我查看了official document关于EmbeddedResource项,元数据是这样引入的

CopyToOutputDirectory Optional string. Determines whether to copy the file to the output directory. Values are: 1. Never. 2. Always. 3. PreserveNewest.

我通过手动将相关元数据添加到 .csproj 文件中进行测试,但问题仍然存在。

<ItemGroup>
  <EmbeddedResource Include="Resources\logging.json">
     <CopyToOutputDirectory>Never</CopyToOutputDirectory> 
  </EmbeddedResource>
</ItemGroup>

我认为这应该是一个潜在的问题,我已将其报告给 Microsoft Developer Community,希望 VS 产品团队能够修复它并分享见解。这是 link:Embedded Resources still copy to output directory even set CopyToOutputDirectory to Never.