c#-nuget包中的嵌入式资源

我正在构建要与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

上一篇:在Nuget中使用Install-Package时,是否可以指定.NET Framework版本参数?


下一篇:MySQL 学习笔记(2021.10.26~28)