2013-09-04 4 views
8

Durante il processo di creazione di un progetto di servizio cloud (ruolo Web) con la destinazione di pubblicazione su un server di generazione, durante il processo di creazione di un servizio cloud (Web Role) vengono visualizzati alcuni errori strani. Pubblica tramite Visual Studio 2012 funziona correttamente, ma non sul server di build.Azure e Publish su buildserver. È necessario specificare la directory fisica per il percorso virtuale

errore riportato dal Team Città:

[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 

Il mio file servicedefinition contiene queste impostazioni per il sito.

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

Sul server di build che ho "Azure Authoring Tools v2.0" e "Windows Azure Libraries for .NET 2.0".

Devo definire il percorso fisico quando si pubblica su un server di build o ci sono altri scenari che possono causare questo errore?

+0

Dai un'occhiata a [questo post SO correlato] (http://stackoverflow.com/a/13423731). Sembra che tu debba aggiungere un attributo aggiuntivo (* physicalDirectory *) all'elemento 'WebRole/Sites/Site' nel tuo' ServiceDefinition.csdef'. – SliverNinja

+0

Sì, ho visto altri post SO. Quel post specifico è per una versione precedente di Azure SDK. –

+0

Hai mai capito? – keyneom

risposta

1

Ho avuto un problema simile durante il wrestling con CSPack. Alla fine ho sono imbattuto in questo articolo su MSDN intitolato: Command-Line Build for Azure

ho cambiato il mio MSBuild CMD a:

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

Utilizzando MSBuild a:

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

Questo risolto i miei problemi di compilazione. Quindi sono stato distribuito in Azure usando PowerShell ...

3

Ho avuto lo stesso problema ma sono riuscito a risolverlo aggiungendo proprietà più specifiche alla sezione Proprietà riga di comando del passaggio di generazione. Le seguenti aggiunte impedito l'errore di mostrare ed era in grado di generare correttamente il mio file .cspkg:

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

Inoltre, ho cambiato il campo "Obiettivi" per la seguente: publish

Dalla mia comprensione, che è il punto di avere /t:Publish come proprietà della riga di comando, ma in ogni caso l'errore non compare più nella build.

+2

Penso che le modifiche apportate ai parametri della riga di comando fossero una falsa pista. La cosa che lo ha risolto è stata la modifica del campo obiettivi da pubblicare. Molte grazie. – TylerD87