最近,我在Teamcity中设置了一个新的构建配置,以便为Azure创建一个云服务包。使用msbuild构建项目之后,我将调用cspack.exe (AzureSDK2.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的更新。但是过了一段时间,它在执行该启动任务时显示了一个错误。在那之后,又出现了重新启动织布的循环。
在搜索可能的原因时,我注意到我的目录中的一个目录在我的原始项目中包含一个空格,但是在编码为%20的包中。在将目录名更改为原始名称并再次更新webrole之后,问题就消失了。
是否有人熟悉这一问题,并能指出解决这一问题的正确方向?
发布于 2015-07-15 19:46:57
%20只进入包,而不是部署时。您是否将RDP转到角色以检查文件夹名是否带有%20?因为看起来,%20只会添加到包中,但在解压缩时会被删除。所以你重新开始的问题可能是另外一回事。
顺便说一句,对于所有非URI字符,包括应该进入包中的Unicode字符,也是如此。这是由开放式包装公约强加的。
https://stackoverflow.com/questions/30398209
复制相似问题