我们的 azure 构建存在问题,如果我们在 csdef 文件的 WebRole/Contents/Content/SourceDirectory 部分中使用绝对路径,我们只能让它工作。虽然它确实支持相对路径(包括'..')和环境变量(!在 SET 中是的),但问题是我们无法获得任何非绝对路径来成功构建,因为 .csdef 文件似乎被“验证”了两次:一次它在打包之前位于项目目录中,然后再次移动到 /bin 文件夹。显然,如果我们从两个不同的地方开始,没有一个相对路径能够解析到相同的内容目录!您可以做的是为两个构建步骤阶段中的一个阶段设置正确的路径......但随后它将在另一个阶段失败。
为了使我的项目使用相对路径构建,我需要禁用 PreValidateServiceModel 目标。尽管我担心跳过目标会错过一些重要的过程(除了显而易见的......服务文件未经验证!),但包装似乎有效。也就是说 .csdef 文件仍然是“已验证”的,因为它必须被解析以创建包。