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

标签 c# nuget resx

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

引用:Specifying Files to Include in the Package

关于c# - nuget包中的嵌入式资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193459/

相关文章:

c# - 禁用以 EXCEL 格式导出 RDLC 报告

visual-studio - Nuget 包 - 引用的程序集不包含在项目引用中

asp.net - 检查 ASPX 文件以确保 RESX 中存在引用的资源 key

.net - 你如何在 VS2017 中引用 .net 项目中的 netstandard 项目?

asp.net-mvc - VS2015 ASP.NET MVC 当前上下文中不存在名称 'model'

.NET .resx 文件 : why does name attribute often start with &gt;&gt;

asp.net 从 .resx 获取所有资源而不指定区域性 (ResourceManager.GetResourceSet )

c# - 读取 *.tiff 和 *.eps 文件的标签

c# - TimeSpan字符串格式异常

c# - 我想取消页面提交,在 asp.net4.0 中使用 C# 取消确认操作