我正在使用Kudu从Git部署到Azure Webapp。今天我发现包含翻译(从标准resx文件生成)的附属程序集不会复制到WebJob目标目录。例如。 de\MyLib.resources.dll
文件存在于Web应用程序的bin
目录中,但不存在于Web作业目录中,即使Web作业可执行文件引用MyLib
。
因此,我的网络作业没有必要的资源,这是一个问题,因为我正在尝试从作业中发送本地化的电子邮件。
这是一个错误,还是我错过了一个配置选项来指示Kudu也部署卫星程序集?
编辑:我还创建了issue on the kudu sync github site。
答案 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
(为了便于阅读,添加了换行符)。