2013-09-04 12 views
8

Dostaję jakieś dziwne błędy z serwera budować w kroku CSPack podczas budowania usługi Cloud (Web Role), projekt z cel publikowania na serwerze kompilacji. Opublikuj za pomocą Visual Studio 2012 działa dobrze, ale nie na serwerze kompilacji.Azure i Publikuj na serwerze Buildserver. Należy określić katalog fizyczny dla ścieżki wirtualnej

Błąd zgłoszone przez Team Miasto:

[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 

Mój plik ServiceDefinition zawiera te ustawienia na stronie.

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

Na serwerze kompilacji mam "Azure Authoring Tools v2.0" i "Windows Azure biblioteki dla .NET 2.0".

Czy muszę zdefiniować ścieżkę fizyczną podczas publikowania na serwerze kompilacji, czy są jakieś inne scenariusze, które mogą powodować ten błąd?

+0

Spójrz [tym podobne tak post] (http://stackoverflow.com/a/13423731). Wygląda na to, że musisz dodać dodatkowy atrybut (* physicalDirectory *) do elementu "WebRole/Sites/Site" w swoim "ServiceDefinition.csdef". – SliverNinja

+0

Tak, widziałem inne posty w SO. Ten konkretny wpis dotyczy starszej wersji pakietu Azure SDK. –

+0

Czy kiedykolwiek zrozumiałeś to? – keyneom

Odpowiedz

1

miałem podobny problem, podczas gdy zapasy z CSPack. I w końcu natknął się na temat tego artykułu na MSDN pod tytułem: Command-Line Build for Azure

zmieniłem MSBuild CMD do:

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

Korzystanie MSBuild pod adresem:

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

ten rozwiązany moje problemy kompilacji. I następnie wdrożony do Azure przy użyciu PowerShell ...

3

miałem ten sam problem, ale udało się go naprawić dodając bardziej specyficznych właściwościach do sekcji polecenie Właściwości linii etapu budowy. Następujące dodatki zapobiec wyświetlaniu błędu i był w stanie poprawnie generować mój .cspkg plik:

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

Także zmieniłem „Targets” pole do następujących: publish

Z mojego zrozumienia, że ​​jest chodzi o to, aby mieć właściwość linii komend o wartości /t:Publish, ale w żadnym wypadku błąd nie pojawia się już w kompilacji.

+2

Myślę, że zmiany wprowadzone w parametrach wiersza poleceń były czerwonym śledziem. To, co naprawiło to dla mnie, zmieniało pole celów do publikacji. Wielkie dzięki. – TylerD87

Powiązane problemy