Kudu 同步不会将附属程序集复制到 Web 作业目录



我正在使用Kudu从Git部署到Azure Webapp。今天,我发现包含翻译(从标准 resx 文件生成)的附属程序集未复制到 WebJob 目标目录。例如,deMyLib.resources.dll文件存在于 Web 应用程序的 bin 目录中,但不存在于 Web 作业目录中,即使 Web 作业可执行文件引用MyLib

因此,我的 Web 作业没有必要的资源,这是一个问题,因为我正在尝试从作业发送本地化电子邮件。

这是一个错误,还是我缺少指示 Kudu 部署附属程序集的配置选项?

编辑:我还在kudu同步github网站上创建了一个问题。

该问题也被其他人报告为 Github 问题。显然,问题出在Microsoft.Web.WebJobs.Publish包中的MSBuild脚本中。不幸的是,@bradygaster描述的修复程序仍未发布。

临时解决方案

我创建了一个Microsoft.Web.WebJobs.Publish 1.3.0 的修补版本,它与该软件包的不同之处只是缓腹酶描述的修复程序。

修补的 nuget 包的 ID 为 Microsoft.Web.WebJobs.Publish.SatelliteAssemblyFix。

我希望Microsoft修复原始软件包并尽快发布更新。

解决方法

仅当附属程序集作为 Web 应用程序的一部分生成时,此解决方法才有效。

使用 XCOPY 命令在 Kudu 同步完成后复制附属程序集:

xcopy   
   "%DEPLOYMENT_TARGET%bin*" 
   "%DEPLOYMENT_TARGET%app_datajobscontinuousmywebjob" 
   /Y /E

(为便于阅读而添加了换行符)。

最新更新