gpt4 book ai didi

azure - CSPack 将带有空格的目录名称编码为 %20

转载 作者:行者123 更新时间:2023-12-04 08:55:14 24 4
gpt4 key购买 nike

我最近在 Teamcity 中设置了新的构建配置,以便为 Azure 创建云服务包。使用 msbuild 构建项目后,我调用 cspack.exe (Azure SDK 2.2) 来创建包。

这是我正在使用的命令:

cspack.exe "ServiceDefinition.csdef" 
"/out:%Package.RelativePath%package.cspkg"
"/role:MyWebRole;%teamcity.build.checkoutDir%\t\%build.number%;bin\MyProject.Web.dll"
"/sites:MyWebRole;MyWebSite;%teamcity.build.checkoutDir%\t\%build.number%"

这会创建一个看起来正确的 cspkg。我已将此包上传到 Azure 存储并执行了 webrole 更新。但过了一段时间,它在执行启动任务时显示错误。之后是重新启动网络角色的循环。

在寻找可能的原因时,我注意到我的 approot 中的一个目录在我的原始项目中包含一个空格,但在编码为 %20 的包中。将目录名称更改为原始名称并再次更新网络角色后,问题消失了。

有人熟悉这个问题并且可以指出我解决这个问题的正确方向吗?

最佳答案

%20 仅进入包中,但在部署时不会。您是否通过 RDP 连接到云服务角色来检查文件夹名称是否带有 %20?因为看起来%20只是添加到包中,但在解压时被删除。因此,您的重新启动问题可能是其他原因。

顺便说一句,这同样适用于所有非 URI 字符,包括应放入包中的 Unicode 字符。这是由 Open Packaging Conventions 强加的.

关于azure - CSPack 将带有空格的目录名称编码为 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398209/

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