azure - MSBuilld 将不需要的文件从 Azure WebJob 复制到另一个 WebJob
问题描述
我们有 2 个 Azure Webjobs 连接到我们的 ASP WebApi 应用程序。他们都没有使用来自另一个的任何依赖项。然而,在发布之后,其中一个具有来自另一个的可执行文件。值得一提的是,这只发生在发布时。VS build 上一切正常。
这是 Azure FTP 上文件层次结构的样子
第一个,部署,正在按预期发布。这些是其文件夹中的可执行文件:
第二个,EmailSender,有来自 Deployment 的可执行文件:
奇怪的是,它们中还有 app.publish 文件夹,只包含一个相同的文件WebJob.Deployment.exe
:
部署工作工作正常。不幸的是,Azure 不识别 EmailSender 作业,而是执行部署。现在唯一可行的解决方案是在每次发布时直接从 FTP 手动删除部署的可执行文件。
现在我们尝试了一些来自 SO 和博客的东西,但没有成功。
编辑:
我确实完成了一些事情。它没有解决问题,但我们没有app.publish
文件夹了。这是 SO 上的解决方案的链接。我不知道为什么我们要检查WebJob.Deployment
应用程序的“ClickOnce 安全”选项。
更新:
我进行了一些测试,MSBuild
发现了一些奇怪的东西。正如我之前所说,Visual Studio Publish
工作正常 - 没有部署额外的可执行文件。但是当我运行MSBuild
程序(具有相同的publish profile
项目配置)时,我得到了额外的Deployment.exe
内部EmailsSender
文件夹。这是我运行的命令:
MSBuild RestAPI.Host.csproj /t:Build /p:Configuration="Develop" /p:Platform="AnyCPU" /p:DocumentationFile="RestAPI.Host.XML" /p:DeployOnBuild="true" /p:PublishProfile="fakebuild_develop.pubxml" /p:OutputPath="backend\build\app\\" /p:SolutionDir="backend\\"
谁能告诉我MSBuild
和有什么区别VS Publish
?我在互联网上找不到任何有用的东西。
解决方案
推荐阅读
- python - int64 类型的对象不是 JSON 可序列化的,使用 Pandas Dataframes 从 SQL Server POST 数据
- dexie - 在不知道架构的情况下简单地写入 Dexie
- python-3.x - Python - 仅从文件中捕获特定标记并忽略一行和多行注释和换行符
- paypal - PayPal Sandbox 发票已支付,但仍处于 SENT 状态
- javascript - 使用 fontawesome 的密码可见性图标
- html - IOS 14 表情符号键盘不会在浏览器中调整窗口大小
- javascript - JavaScript 数组中的数字总和产生字符串而不是数字
- ffmpeg - 用相等长度的流规范化输入
- reactjs - 警告:无法在 SceneView(由 Pager 创建)中对未安装的组件执行 React 状态更新
- spring - 提供 REST API:Apache NiFi 与 Spring Boot