Azure和发布在buildserver上.需要指定虚拟路径的物理目录

Joh*_*nes 8 teamcity azure azure-web-roles

在构建服务器上使用"发布"目标构建云服务(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 2.0".

在构建服务器上发布时是否需要定义物理路径,或者是否存在可能导致此错误的其他方案?

tri*_*oot 1

我在与 CSPack 搏斗时遇到了类似的问题。我最终在 MSDN 上偶然发现了这篇文章,标题为:Command-Line Build for Azure

我将 MSBuild CMD 更改为:

WebAppPaaS\WebAppPaaS.sln /t:Publish /p:TargetProfile=Cloud
Run Code Online (Sandbox Code Playgroud)

在以下位置使用 MSBuild:

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe
Run Code Online (Sandbox Code Playgroud)

这解决了我的构建问题。然后我使用 PowerShell 部署到 Azure...