gpt4 book ai didi

azure - WindowsAzure.targets ValidateServiceFiles 是一个重要的构建步骤吗?

转载 作者:行者123 更新时间:2023-12-02 06:51:41 26 4
gpt4 key购买 nike

我们的 azure 构建存在问题,只有在 csdef 文件的 WebRole/Contents/Content/SourceDirectory 部分中使用绝对路径才能使其正常工作。尽管它确实支持相对路径(包括“..”)和环境变量(!是的,如 SET 中所示),但问题是我们无法获得任何非绝对路径来成功构建,因为 .csdef 文件似乎已“验证”两次:一次是在打包之前它位于项目目录中的位置,另一次是在它被移动到/bin 文件夹后。显然,如果我们从两个不同的位置开始,则没有一个相对路径能够解析到相同的内容目录!您可以做的是为两个构建步骤阶段之一获取正确的路径...但在另一个阶段它将失败。有问题的目标是调用 ValidateServiceFiles 任务的 PreValidateServiceModel。

为了使用相对路径构建我的项目,我需要禁用 PreValidateServiceModel 目标。打包似乎可以工作,尽管我担心跳过目标会错过一些重要的过程(除了明显的......服务文件未经过验证!)。也就是说,.csdef 文件仍然是“经过验证的”,因为必须对其进行解析才能创建包。

最佳答案

我也遇到了类似的问题。检查documentation on the Source directory element of the WebRole schema ,我看到支持目录路径中的环境变量扩展。这导致我找到了以下解决方案。

在包含 csdef 文件的项目的预构建事件中,我将文件从 UpdaterFiles 目录复制到 Temp 目录下的目录:

IF NOT EXIST %TEMP%\UpdaterFiles MKDIR %TEMP%\UpdaterFiles
XCOPY $(ProjectDir)..\UpdaterFiles\*.* %TEMP%\UpdaterFiles\ /Y

然后我的源目录就变成了:

<SourceDirectory path="%TEMP%\UpdaterFiles" />

上面的效果就像一个魅力

关于azure - WindowsAzure.targets ValidateServiceFiles 是一个重要的构建步骤吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com