8

ビルド サーバーで Publish ターゲットを使用してクラウド サービス (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 

私の ServiceDefinition ファイルには、サイトのこれらの設定が含まれています。

<WebRole name="Application.MyWebApi" vmsize="Small">
    <Sites>
      <Site name="Web">        
        <Bindings>
          <Binding name="Endpoint1" endpointName="www" />
        </Bindings>
      </Site>
    </Sites>
...
</WebRole

ビルド サーバーには、"Azure Authoring Tools v2.0" と "Windows Azure Libraries for .NET 2.0" があります。

ビルド サーバーで公開するときに物理パスを定義する必要がありますか? または、このエラーを引き起こす可能性のある他のシナリオはありますか?

4

2 に答える 2

3

同じ問題がありましたが、ビルド ステップのコマンド ライン プロパティ セクションにより具体的なプロパティを追加することで修正できました。次の追加により、エラーが表示されなくなり、.cspkg ファイルを正しく生成できました。

/t:Publish
/p:TargetProfile=Cloud
/p:Configuration=Release
/p:Platform="Any CPU"
/p:PublishDir=bin\Release\app.publish
/p:OutputPath=bin\Release

また、「ターゲット」フィールドを次のように変更しました。publish

私の理解では、それが/t:Publishコマンドラインプロパティとして持つポイントですが、いずれにせよ、エラーはビルドに表示されなくなりました。

于 2015-11-17T22:33:22.400 に答える
1

CSPackと格闘しているときに、同様の問題が発生しました。最終的に、MSDN の次の記事に出くわしました: Command-Line Build for Azure

MSBuild CMD を次のように変更しました。

WebAppPaaS\WebAppPaaS.sln /t:Publish /p:TargetProfile=Cloud

MSBuild の使用:

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

これにより、ビルドの問題が解決されました。次に、PowerShell を使用して Azure にデプロイしました...

于 2015-09-24T15:07:17.150 に答える