问题描述
我想在ASP.NET Core 3项目中将两个文件的Build Action
设置为Embedded resource
。
FileName.json
FileName.en-GB.json
但是当我尝试获取嵌入式资源时,只有一个文件(第一个文件,没有文化后缀)
Namespace.Folder.FileName.json
起初,我猜想也许我必须直接在.csproj
文件中添加第二个文件。
<ItemGroup>
<EmbeddedResource Include="Folder\**\*.json" />
<EmbeddedResource Include="Folder\FileName.en-GB.json" />
</ItemGroup>
但是会引发错误:
包含重复的“ EmbeddedResource”项目
这意味着它已经被添加。
预先感谢
解决方法
<ItemGroup>
<!-- This line includes all .json files in Folder and it's subfolders-->
<EmbeddedResource Include="Folder\**\*.json" />
<!-- This line is not needed because all .json files are already included -->
<EmbeddedResource Include="Folder\FileName.en-GB.json" />
</ItemGroup>
因此将其更改为
<ItemGroup>
<!-- This line includes all .json files in Folder and it's subfolders-->
<EmbeddedResource Include="Folder\**\*.json" />
</ItemGroup>
请注意,FileName.en-GB.json将包含在附属程序集中,而不是在主输出程序集中。