Kudu sync 不会将卫星程序集复制到 Web 作业目录
Kudu sync does not copy satellite assemblies to web job directory
我正在使用 Kudu 从 Git 部署到 Azure Webapp。今天我发现包含翻译(从标准 resx 文件生成)的附属程序集没有复制到 WebJob 目标目录。例如。 de\MyLib.resources.dll
文件存在于 Web 应用程序的 bin
目录中,但不在 Web 作业目录中,即使 Web 作业可执行文件引用 MyLib
.
因此,我的 Web 作业没有可用的必要资源,这是一个问题,因为我正在尝试从该作业发送本地化的电子邮件。
这是一个错误,还是我缺少指示 Kudu 部署附属程序集的配置选项?
编辑:我还创建了一个 issue on the kudu sync github site。
该问题也被报告为 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。
希望微软尽快修复原包并发布更新
解决方法
只有当附属程序集作为 Web 应用程序的一部分构建时,此解决方法才有效。
在 Kudu 同步完成后使用 XCOPY 命令复制附属程序集:
xcopy
"%DEPLOYMENT_TARGET%\bin\*"
"%DEPLOYMENT_TARGET%\app_data\jobs\continuous\mywebjob\"
/Y /E
(为了便于阅读而添加了换行符)。
我正在使用 Kudu 从 Git 部署到 Azure Webapp。今天我发现包含翻译(从标准 resx 文件生成)的附属程序集没有复制到 WebJob 目标目录。例如。 de\MyLib.resources.dll
文件存在于 Web 应用程序的 bin
目录中,但不在 Web 作业目录中,即使 Web 作业可执行文件引用 MyLib
.
因此,我的 Web 作业没有可用的必要资源,这是一个问题,因为我正在尝试从该作业发送本地化的电子邮件。
这是一个错误,还是我缺少指示 Kudu 部署附属程序集的配置选项?
编辑:我还创建了一个 issue on the kudu sync github site。
该问题也被报告为 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。
希望微软尽快修复原包并发布更新
解决方法
只有当附属程序集作为 Web 应用程序的一部分构建时,此解决方法才有效。
在 Kudu 同步完成后使用 XCOPY 命令复制附属程序集:
xcopy
"%DEPLOYMENT_TARGET%\bin\*"
"%DEPLOYMENT_TARGET%\app_data\jobs\continuous\mywebjob\"
/Y /E
(为了便于阅读而添加了换行符)。