ResXFileRef文件更新时EmbeddedResource未同步更新问题(.NET 8对比.NET Framework)
.NET 8中ResX引用外部文件后资源未同步更新问题
我们的嵌入式资源配置如下:
<EmbeddedResource Update="Resources\ResourceFile.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>ResourceFile.Designer.cs</LastGenOutput> </EmbeddedResource>
该.resx文件引用了TextFile.txt文件,当TextFile.txt内容更新后,Resources.ResourceFile并未同步更新对应的内容。但相同的逻辑在.NET Framework环境下可以正常运行。
用于复现问题的最小解决方案包含两个项目:
- ConsoleAppFramework48:基于.NET Framework 4.8的控制台项目
- ConsoleAppNet8:基于.NET 8的控制台项目
两个项目实现逻辑完全一致:通过ResourceFile.resx读取TextFile.txt的内容并在控制台输出。
复现步骤
- 在Visual Studio中打开解决方案
- 正常场景(.NET Framework 4.8):
- 构建并运行ConsoleAppFramework48项目,控制台输出初始文本(示例:
Hello Framework48: 1) - 修改
ConsoleAppFramework48\Resources\Files\TextFile.txt的内容(示例:改为Hello Framework48: 2) - 重新构建并运行项目,控制台显示更新后的文本,功能正常
- 构建并运行ConsoleAppFramework48项目,控制台输出初始文本(示例:
- 异常场景(.NET 8):
- 构建并运行ConsoleAppNet8项目,控制台输出初始文本(示例:
Hello Net8: 1) - 修改
ConsoleAppNet8\Resources\Files\TextFile.txt的内容(示例:改为Hello Net8: 2) - 重新构建并运行项目,控制台仍显示旧文本,功能异常
- 构建并运行ConsoleAppNet8项目,控制台输出初始文本(示例:
内容的提问来源于stack exchange,提问作者Rob Janssen
相关产品推荐
相关产品推荐

