【问题标题】:Restoring nuget package culture specific恢复特定的 nuget 包文化
【发布时间】:2017-04-29 09:16:36
【问题描述】:

我在构建机器(TFS 2015 Build)上获取带有文化特定资源文件的 nuget 包版本时遇到问题

在我的桌面上(Win7 和 Vs2015U3,都在 fr-CA 中),例如,当我恢复包“Microsoft.AspNet.WebApi.Client”时,它带有一个“lib\net45\fr”文件夹,其中包含文件“System.Net.Http.Formatting.resources.dll”。

但是,在我的构建机器上(同样的事情,Win7 和 VS2015U3 都在 fr-CA),当构建代理通过 VS 解决方案构建任务恢复包时,它不包含“\fr”。因此,资源文件丢失了。

知道导致这种行为的原因是什么吗?

【问题讨论】:

  • 找到了。我将“C:\Users\tfsbuild\.nuget\packages”中的包文件夹和解决方案中的包文件夹混合在一起。当包“Microsoft.AspNet.WebApi.Client”从云中恢复时,它被缓存到“C:\Users\tfsbuild\.nuget\packages”文件夹中。没有“lib\net45\fr”文件夹。但是当恢复到解决方案包文件夹时,会出现“lib\net45\fr”文件夹。 Microsoft.AspNet.WebApi.Client.fr 已经存在于我的 package.config 文件中。
  • 既然您已经解决了这个问题,如果可能的话,请将您的解决方案发布为答案并标记它,这样可以帮助遇到与您相同问题的其他社区成员轻松找到答案。感谢您的分享:)
  • 部分解释,在我的开发机器上本地(操作系统和 IDE 是法语)。但没有解决,因为问题出在我的构建机器上。构建代理似乎没有正确考虑操作系统的语言或安装的 IDE(在构建机器上)。两者都是法语。即使在 package.config 文件中指定了本地化 dll “Microsoft.AspNet.WebApi.Client.fr”,它也不会在工作区中恢复。

标签: visual-studio-2015 nuget tfsbuild culture nuget-package-restore


【解决方案1】:

根据你的描述,你是通过VS构建任务恢复了包。所以我假设你在 VS 构建任务中检查了 Restore NuGet Packages

请注意,VS 构建任务中的 Restore NuGet Packages 选项已弃用。 确保清除此复选框,改为使用 NuGet Installer 构建步骤。

【讨论】:

  • 感谢您的提示。我将更新我的构建定义。
【解决方案2】:

Microsoft.AspNet.WebApi.Client.fr 包添加到您的项目中,然后签入更改。

【讨论】:

  • 它已经存在于 package.config 文件中。见我上面的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多