azure – CSPack使用空格来编码目录名

我最近在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的更新.但过了一段时间,它在执行启动任务时显示错误.之后是一个重新启动webrole的循环.

在搜索可能的原因时,我注意到我的approot中的一个目录在我的原始项目中包含一个空格,但是在编码为的包中.将目录名称更改为原始名称并再次更新webrole后,问题就消失了.

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

唯一进入包,但不是在部署时.您是否通过RDP访问云服务角色以检查文件夹名称是否包含?因为它似乎只是添加到包中,但在解压缩时删除.因此,重启的问题可能是其他问题.

顺便说一句,这同样适用于所有非URI字符,包括应该包含在内的Unicode字符.这是由Open Packaging Conventions强加的.

相关文章
相关标签/搜索