我正在构建要与NuGet打包在一起的C#库.它在Resources目录中的.resx文件中包含一些错误代码转换,该文件称为Errors.en.resx.该文件的“构建操作”设置为“嵌入资源”(我已经在.csproj文件中确认),但是,在构建项目时,资源最终存储在“ en”文件夹中的单独dll中.
这样可以正常工作,但是与NuGet打包时会丢失“ en”文件夹,这意味着尝试使用ResourceManager来获取消息的尝试失败.
理想情况下,我希望将资源嵌入到主.dll中,但如果失败,我将解决将资源dll添加到NuGet包中的问题.到目前为止,各种设置更改和NuGet规格更改均未成功.
解决方法:
最后,最简单的解决方案是在NuGet Spec中显式添加资源文件:
<files>
<file src="bin\$configuration$\en\*.dll" target="lib\net45\en" />
</files>
参考:Specifying Files to Include in the Package