2013-09-04 9 views
8

ビルドサーバーで公開ターゲットを使用してクラウドサービス(Webロール)プロジェクトをビルドするときに、CSPackステップでビルドサーバーから奇妙なエラーが発生します。 Visual Studio 2012を使用したパブリッシュは正常に機能しますが、ビルドサーバーでは機能しません。チーム市が報告しAzureとPublish on buildserver。仮想パスの物理ディレクトリを指定する必要があります

エラー:

[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 

マイサービス定義ファイルには、Webサイトについて、これらの設定が含まれています。

<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」があります。

ビルドサーバーに公開するときに物理パスを定義する必要がありますか、このエラーの原因となるシナリオが他にありますか。

+0

[関連するSOの投稿](http://stackoverflow.com/a/13423731)をご覧ください。 'ServiceDefinition.csdef'の' WebRole/Sites/Site'要素に追加の属性(* physicalDirectory *)を追加する必要があるようです。 – SliverNinja

+0

うん、私は他のSOの投稿を見た。その特定の投稿はAzure SDKの古いバージョン用です。 –

+0

あなたはこれを理解できましたか? – keyneom

答えて

1

私はCSPackと格闘しながら同様の問題を抱えていました。私は最終的題しMSDNのこの記事につまずい:Command-Line Build for Azure

私は私のMSBuildのCMDを変更:これは私のビルドの問題を解決し

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

:で

のMSBuildを使用して
WebAppPaaS\WebAppPaaS.sln /t:Publish /p:TargetProfile=Cloud 

。その後、PowerShellを使用してAzureにデプロイしました。

3

私は同じ問題がありましたが、ビルドステップのコマンドラインプロパティセクションにさらに特定のプロパティを追加することで修正できました。また、私は次のように、「ターゲット」フィールドを変更し

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

:私の理解からpublish

、つまり、以下の追加が示すからエラーを防止し、正しく私の.cspkgファイルを生成することができました0の場合は、コマンドラインプロパティとして/t:Publishを持っていますが、いずれの場合もビルドにエラーは表示されません。

+2

コマンドラインパラメータの変更は、赤いニシンだったと思います。私のためにそれを修正したものは、ターゲットフィールドを公開するように変更していました。どうもありがとう。 – TylerD87

関連する問題