我正在构建一个要与 NuGet 打包的 C# 库。它在 Resources 目录中名为 Errors.en.resx
的 .resx 文件中包含一些错误代码翻译。该文件将“构建操作”设置为“嵌入式资源”(我已在 .csproj 文件中确认),但是当构建项目时,资源最终位于“en”文件夹中的单独 dll 中。
这工作正常,但是当使用 NuGet 打包时,“en”文件夹丢失,这意味着尝试使用 ResourceManager
获取消息失败。
理想情况下,我希望将资源嵌入到主 .dll 中,但如果做不到这一点,我将决定将资源 dll 添加到 NuGet 包中。到目前为止,各种设置更改和 NuGet 规范更改均未成功。
最佳答案
最后,最简单的解决方案是在 NuGet 规范中显式添加资源文件:
<files>
<file src="bin\$configuration$\en\*.dll" target="lib\net45\en" />
</files>
关于c# - nuget包中的嵌入式资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193459/