none
Lightswitch Problem beim Veröffentlichung auf Azure RRS feed

  • Frage

  • Hallo Zusammen.

    Beim Veröffentlichen einer LightSwitch Web Applikation auf Azure wird der produktive Task abgeschaltet und der Staging Task geladen.
    Das heisst, wenn ich jeweils meine neuen Versionen zum Test rausspiele, fährt der auch den produktive Teil, auf dem meine Kunden arbeiten, nach unten.
    Meiner Meinung nach wäre hier der Ablauf zuerst Staging Task Updaten, kontrollieren und danach mit VIP als produktiven Task schalten.

    Ein manueller Update des Staging Task würde zwar funktionieren, man erhält aber die zwei nötigen Files nur durch die komplette Veröffentlichung und fährt damit den produktiven Task wieder runter....

    Gruss Nobi

    Mittwoch, 12. Oktober 2011 14:27

Antworten

  • Dank der Hilfe von Martin Grasruck Microsoft Customer Support Service habe ich hier gleich noch eine brauchbare Lösung erhalten.
    Ich kann nun Veröffentlichen, erhalte meine zwei nötigen Files und die Azure Umgebung öffnet sich auch gleich.

    Es erfolgt nun kein automatischer Updatet der Task, sondern ich  Update meinen Staging Teil manuell und meine Kunden bleiben glücklich!!!

     

    Anpassung:

    Dazu muss man das LSproj File mit einem Texteditor öffnen und die nachstehenden  Einstellungen einfügen:

    Ziemlich am Ende sollten Sie diese Zeile finden:

    --->>>>    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\LightSwitch\$(LightSwitchVersion)\Microsoft.LightSwitch.targets" />

    Hier müssen die Einstellungen einfügt werden: Bitte darauf achten, dass sie das Import statement nicht mitkopieren weil es sonst doppelt vorhanden ist. 

        <!-- Override the default PublishAzureApplication target to only generate the package -->
      <Target Name="PublishAzureApplication" DependsOnTargets="$(PublishAzureApplicationDependsOn)" Condition=" '$(_PublishAzure)' == 'true' ">
        <ItemGroup>
          <ServiceDefinitionFileItem Include="$(ServiceDefinitionFile)" />
          <ServiceConfigurationFileItem Include="$(ServiceConfigurationFile)" />
        </ItemGroup>
        <Copy SourceFiles="$(ServiceDefinitionFile);$(ServiceConfigurationFile)" DestinationFolder="$(OutDir)" />
        <ItemGroup>
          <_BuiltServiceDefinitionFile Include="$(OutDir)\%(ServiceDefinitionFileItem.Filename)%(ServiceDefinitionFileItem.Extension)" />
          <_BuiltServiceConfigurationFile Include="$(OutDir)\%(ServiceConfigurationFileItem.Filename)%(ServiceConfigurationFileItem.Extension)" />
        </ItemGroup>
        <PropertyGroup>
          <_BuiltServiceDefinitionFile_FullPath>%(_BuiltServiceDefinitionFile.FullPath)</_BuiltServiceDefinitionFile_FullPath>
          <_BuiltServiceConfigurationFile_FullPath>%(_BuiltServiceConfigurationFile.FullPath)</_BuiltServiceConfigurationFile_FullPath>
         <_AzurePackageOutputPath>$(OutDir)$(MSBuildProjectName).cspkg</_AzurePackageOutputPath>
        </PropertyGroup>
        <SetCertificate ServiceConfigurationFile="$(_BuiltServiceConfigurationFile_FullPath)" CertificateThumbprint="$(SslCertificateThumbprint)" CertificateThumbprintAlgorithm="$(SslCertificateThumbprintAlgorithm)" RoleName="$(ServiceConfigurationRoleName)" CertificateName="$(ServiceConfigurationCertificateName)" />
        <CallTarget Targets="SetupAzureSDKEnvironment" Condition=" '$(UsePrivateAzureSDK)' == 'true' " />
        <CSPack ServiceDefinitionFile="$(_BuiltServiceDefinitionFile_FullPath)" Output="$(_AzurePackageOutputPath)" PackRoles="@(Roles)" SiteMapping="@(SiteMapping)" RoleProperties="@(RoleProperties)" CopyOnly="false" />
        <CallTarget Targets="RestoreAzureSDKEnvironment" Condition=" '$(UsePrivateAzureSDK)' == 'true' " />
        <PublishAzurePackage Package="$(_AzurePackageOutputPath)" ApplicationName="$(ApplicationName)" SubscriptionId="$(AzureSubscriptionId)" ManagementThumbprint="$(AzureManagementThumbprint)" HostedServiceName="$(AzureHostedService)" HostedServiceLabel="$(AzureHostedServiceLabel)" StorageServiceName="$(AzureStorageService)" ServiceConfigurationFile="$(_BuiltServiceConfigurationFile_FullPath)" Condition=" '$(AzureHostedServiceLabel)' == 'Production' " />
      </Target>
      <!-- Override the default StartPublishAzureApplication to not start the service -->
      <Target Name="StartPublishedAzureApplication" Condition=" '$(_PublishAzure)' == 'true' ">
        <StartAzureService SubscriptionId="$(AzureSubscriptionId)" ManagementThumbprint="$(AzureManagementThumbprint)" HostedServiceName="$(AzureHostedService)" HostedServiceLabel="$(AzureHostedServiceLabel)" Condition=" '$(AzureHostedServiceLabel)' == 'Production' " />
      </Target>
     
    </Project>


    Gruss Nobi

    • Als Antwort markiert NobiMcLear CH Mittwoch, 12. Oktober 2011 14:28
    Mittwoch, 12. Oktober 2011 14:28