在升级到1.8(2012年10月)之前,这是我们在ServiceDefinition中配置站点的方式.
<Site name="Admin" physicalDirectory="..\Company.Admin">
<Bindings>
<Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
</Bindings>
</Site>
Run Code Online (Sandbox Code Playgroud)
升级后,我在尝试发布时遇到以下错误.
Error 125 Cannot find the physical directory 'C:\Users\Me\Code\Company.Cloud\bin\Company.Admin' for virtual path Admin/.
Run Code Online (Sandbox Code Playgroud)
我们必须更新physicalDirectory值并再向上移动2个文件夹.
<Site name="Admin" physicalDirectory="..\..\..\Company.Admin">
<Bindings>
<Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
</Bindings>
</Site>
Run Code Online (Sandbox Code Playgroud)
似乎1.8之前的Azure在csdef文件的原始位置的上下文中执行,但现在它正在从bin\Release\ServiceDefinition.csdef执行,这是2个更深的文件夹.
我在寻找在线教程时没有成功,该教程专门讨论了与最新SDK版本一起使用的此功能.这是官方的变化吗?我还要提一下,我们同时也升级到VS 2012.
我觉得这个功能一直被忽视.(请参阅缺少.config转换问题).我们很乐意切换到Azure网站,但在SSL/HTTPS可用且预览不可用之前我们无法这样做.
在构建服务器上使用"发布"目标构建云服务(Web角色)项目时,我在CSPack步骤中从构建服务器收到一些奇怪的错误.通过Visual Studio 2012发布工作正常,但不在构建服务器上.
Team City报告的错误:
[Azure\AzureAPI\AzureAPI.ccproj.teamcity] CorePublish
[15:58:49][CorePublish] CorePublish: PackageWebRole = True
[15:58:49][CorePublish] Publishing starting...
[15:58:49][CorePublish] RolePlugins is
[15:58:49][CorePublish] Publishing to 'bin\Release\app.publish\'
[15:58:49][CorePublish] MakeDir
[15:58:49][CorePublish] TargetServiceDefinition is bin\Release\ServiceDefinition.csdef [15:58:49][CorePublish] TargetServiceConfiguration is bin\Release\ServiceConfiguration.cscfg
[15:58:49][CorePublish] Roles is
[15:58:49][CorePublish] CSPack
[15:58:49][CSPack] D:\AzureAPI\bin\Release\ServiceDefinition.csdef error CloudServices077:
Need to specify the physical directory for
the virtual path 'Web/' of role Application.MyWebApi
Run Code Online (Sandbox Code Playgroud)
我的ServiceDefinition文件包含站点的这些设置.
<WebRole name="Application.MyWebApi" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="www" />
</Bindings>
</Site>
</Sites>
...
</WebRole
Run Code Online (Sandbox Code Playgroud)
在构建服务器上,我有"Azure Authoring Tools v2.0"和"Windows Azure Libraries for .NET …