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

时间:2015-04-28 12:01:08

标签: git azure kudu

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

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

这是一个错误,还是我错过了一个配置选项来指示Kudu也部署卫星程序集?

编辑:我还创建了issue on the kudu sync github site

1 个答案:

答案 0 :(得分:1)

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

临时解决方案

我创建了Microsoft.Web.WebJobs.Publish 1.3.0的修补版本,该版本与该版本的fix described by bradygaster不同。

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

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

解决方法

此解决方法仅在卫星程序集构建为Web应用程序的一部分时才有效。

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

xcopy   
   "%DEPLOYMENT_TARGET%\bin\*" 
   "%DEPLOYMENT_TARGET%\app_data\jobs\continuous\mywebjob\" 
   /Y /E

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