Profily publikování sady Visual Studio (.pubxml) pro nasazení aplikace ASP.NET Core

Poznámka:

Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Upozorňující

Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v tématu .NET a .NET Core Zásady podpory. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Důležité

Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.

Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Podle Sayed Ibrahim Hashimi a Rick Anderson

Tento dokument se zaměřuje na použití sady Visual Studio 2019 nebo novější k vytváření a používání profilů publikování. Profily publikování vytvořené pomocí sady Visual Studio lze použít s nástrojem MSBuild a sadou Visual Studio. Pokyny k publikování do Azure najdete v tématu Publikování aplikace ASP.NET Core do Azure pomocí sady Visual Studio.

Příkaz dotnet new mvc vytvoří soubor projektu obsahující následující element Projectu> na kořenové úrovni<:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <!-- omitted for brevity -->
</Project>

Atribut předchozího <Project> prvku Sdk importuje vlastnosti a cíle MSBuild z $(MSBuildSDKsPath)\Microsoft.NET.Sdk.Web\Sdk\Sdk.props a $(MSBuildSDKsPath)\Microsoft.NET.Sdk.Web\Sdk\Sdk.targets. Výchozím umístěním pro $(MSBuildSDKsPath) (se sadou Visual Studio 2019 Enterprise) je složka %programfiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Sdks .

Microsoft.NET.Sdk.Web (Webová sada SDK) závisí na jiných sadách SDK, včetně Microsoft.NET.Sdk sady SDK (.NET Core SDK) a Microsoft.NET.Sdk.Razor (Razor SDK). Importují se vlastnosti a cíle nástroje MSBuild přidružené ke každé závislé sadě SDK. Cíle publikování importují odpovídající sadu cílů na základě použité metody publikování.

Když MSBuild nebo Visual Studio načte projekt, dojde k následujícím akcím vysoké úrovně:

  • Sestavení projektu
  • Výpočetní soubory k publikování
  • Publikování souborů do cíle

Položky výpočetního projektu

Při načtení projektu se počítají položky projektu MSBuild (soubory). Typ položky určuje způsob zpracování souboru. Ve výchozím nastavení .cs jsou soubory zahrnuté do Compile seznamu položek. Soubory v Compile seznamu položek se kompilují.

Seznam Content položek obsahuje soubory publikované kromě výstupů sestavení. Ve výchozím nastavení jsou soubory odpovídající vzorům wwwroot\****\*.configa **\*.json jsou zahrnuty do Content seznamu položek. Vzor globbingu wwwroot\** například odpovídá všem souborům ve složce wwwroot a jejích podsložkách.

Webová sada SDK naimportuje Razor sadu SDK. V důsledku toho jsou soubory odpovídající vzorům **\*.cshtml a **\*.razor také zahrnuty do Content seznamu položek.

Webová sada SDK naimportuje Razor sadu SDK. V důsledku toho jsou soubory odpovídající **\*.cshtml vzoru zahrnuty také do Content seznamu položek.

Pokud chcete do seznamu publikování explicitně přidat soubor, přidejte ho .csproj přímo do souboru, jak je znázorněno v části Zahrnout soubory .

Při výběru tlačítka Publikovat v sadě Visual Studio nebo při publikování z příkazového řádku:

  • Vlastnosti a položky se počítají (soubory potřebné k sestavení).
  • Pouze Visual Studio: Obnoví se balíčky NuGet. (Obnovení musí být explicitní uživatelem v rozhraní příkazového řádku.)
  • Projekt se sestaví.
  • Položky publikování se počítají (soubory potřebné k publikování).
  • Projekt se publikuje (vypočítané soubory se zkopírují do cíle publikování).

Když ASP.NET základní odkazy Microsoft.NET.Sdk.Web na projekt v souboru projektu, app_offline.htm soubor se umístí do kořenového adresáře webové aplikace. Pokud existuje tento soubor, modul ASP.NET Core aplikaci řádně vypne a během nasazování zobrazuje soubor app_offline.htm. Další informace najdete v referenčních informacích ke konfiguraci modulu ASP.NET Core.

Základní publikování příkazového řádku

Publikování na příkazovém řádku funguje na všech platformách podporovaných platformou .NET Core a nevyžaduje Visual Studio. V následujících příkladech se příkaz dotnet publish v .NET CLI spustí z adresáře projektu (který obsahuje .csproj soubor). Pokud složka projektu není aktuálním pracovním adresářem, explicitně předejte cestu k souboru projektu. Příklad:

dotnet publish C:\Webs\Web1

Spuštěním následujících příkazů vytvořte a publikujte webovou aplikaci:

dotnet new mvc
dotnet publish

Příkaz dotnet publish vytvoří variantu následujícího výstupu:

C:\Webs\Web1>dotnet publish
Microsoft (R) Build Engine version {VERSION} for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 36.81 ms for C:\Webs\Web1\Web1.csproj.
  Web1 -> C:\Webs\Web1\bin\Debug\{TARGET FRAMEWORK MONIKER}\Web1.dll
  Web1 -> C:\Webs\Web1\bin\Debug\{TARGET FRAMEWORK MONIKER}\Web1.Views.dll
  Web1 -> C:\Webs\Web1\bin\Debug\{TARGET FRAMEWORK MONIKER}\publish\

Výchozí formát složky publikování je bin\Debug\{TARGET FRAMEWORK MONIKER}\publish\. Například bin\Debug\netcoreapp2.2\publish\.

Následující příkaz určuje Release sestavení a adresář publikování:

dotnet publish -c Release -o C:\MyWebs\test

Příkaz dotnet publish volá nástroj MSBuild, který vyvolá Publish cíl. Všechny předané dotnet publish parametry jsou předány nástroji MSBuild. Parametry -c a -o parametry se mapuje na vlastnosti a OutputPath vlastnosti nástroje MSBuildConfiguration.

Vlastnosti nástroje MSBuild lze předat pomocí některého z následujících formátů:

  • -p:<NAME>=<VALUE>
  • /p:<NAME>=<VALUE>

Například následující příkaz publikuje Release sestavení do sdílené síťové složky. Sdílená složka sítě se zadává s lomítky (r8/) a funguje na všech podporovaných platformách .NET Core.

dotnet publish -c Release /p:PublishDir=//r8/release/AdminWeb

Ověřte, že publikovaná aplikace pro nasazení není spuštěná. Soubory ve složce publikování se při spuštění aplikace zamknou. Nasazení se nedá provést, protože uzamčené soubory nelze kopírovat.

Profily publikování

V této části se k vytvoření profilu publikování používá Visual Studio 2019 nebo novější. Po vytvoření profilu je k dispozici publikování ze sady Visual Studio nebo příkazového řádku. Profily publikování můžou zjednodušit proces publikování a může existovat libovolný počet profilů.

V sadě Visual Studio vytvořte profil publikování tak, že zvolíte jednu z následujících cest:

  • V Průzkumníku řešení klikněte pravým tlačítkem na projekt a vyberte Publikovat.
  • V nabídce Sestavení vyberte Publikovat {PROJECT NAME}.

Zobrazí se karta Publikovat na stránce možností aplikace. Pokud projekt nemá profil publikování, zobrazí se cílová stránka Vybrat publikování . Zobrazí se výzva k výběru některého z následujících cílů publikování:

  • Azure App Service
  • Aplikace Azure Service v Linuxu
  • Azure Virtual Machines
  • Složka
  • SLUŽBA IIS, FTP, nasazení webu (pro libovolný webový server)
  • Importovat profil

Pokud chcete určit nejvhodnější cíl publikování, podívejte se, jaké možnosti publikování jsou pro mě vhodné.

Pokud je vybrán cíl publikování složky, zadejte cestu ke složce pro uložení publikovaných prostředků. Výchozí cesta ke složce je bin\{PROJECT CONFIGURATION}\{TARGET FRAMEWORK MONIKER}\publish\. Například bin\Release\netcoreapp2.2\publish\. Dokončete výběr tlačítka Vytvořit profil.

Po vytvoření profilu publikování se obsah karty Publikovat změní. Nově vytvořený profil se zobrazí v rozevíracím seznamu. Pod rozevíracím seznamem vyberte Vytvořit nový profil a vytvořte další nový profil.

Nástroj pro publikování sady Visual Studio vytvoří soubor Properties/PublishProfiles/{PROFILE NAME}.pubxml MSBuild popisující profil publikování. Soubor .pubxml :

  • Obsahuje nastavení konfigurace publikování a používá se procesem publikování.
  • Je možné upravit tak, aby se přizpůsobil proces sestavení a publikování.

Při publikování do cíle Azure obsahuje soubor .pubxml identifikátor vašeho předplatného Azure. S tímto cílovým typem se nedoporučuje přidávání tohoto souboru do správy zdrojového kódu. Při publikování do cíle mimo Azure je bezpečné vrátit se změnami soubor .pubxml .

Citlivé informace (například heslo k publikování) se šifrují na úrovni uživatele nebo počítače. Uloží se do souboru Properties/PublishProfiles/{PROFILE NAME}.pubxml.user . Vzhledem k tomu, že tento soubor může ukládat citlivé informace, neměl by být vrácen se změnami do správy zdrojového kódu.

Přehled publikování webové aplikace ASP.NET Core najdete v tématu Hostování a nasazení ASP.NET Core. Úlohy a cíle NÁSTROJE MSBuild potřebné k publikování webové aplikace ASP.NET Core jsou opensourcové v úložišti dotnet/websdk.

Následující příkazy můžou používat profily publikování složek, MSDeploy a Kudu . Vzhledem k tomu, že msDeploy nemá podporu pro různé platformy, jsou následující možnosti MSDeploy podporovány pouze ve Windows.

Složka (funguje pro různé platformy):

dotnet publish WebApplication.csproj /p:PublishProfile=<FolderProfileName>
dotnet build WebApplication.csproj /p:DeployOnBuild=true /p:PublishProfile=<FolderProfileName>

MSDeploy:

dotnet publish WebApplication.csproj /p:PublishProfile=<MsDeployProfileName> /p:Password=<DeploymentPassword>
dotnet build WebApplication.csproj /p:DeployOnBuild=true /p:PublishProfile=<MsDeployProfileName> /p:Password=<DeploymentPassword>

Balíček MSDeploy:

dotnet publish WebApplication.csproj /p:PublishProfile=<MsDeployPackageProfileName>
dotnet build WebApplication.csproj /p:DeployOnBuild=true /p:PublishProfile=<MsDeployPackageProfileName>

V předchozích příkladech:

  • dotnet publish a dotnet build podporují rozhraní Kudu API pro publikování do Azure z libovolné platformy. Publikování sady Visual Studio podporuje rozhraní Kudu API, ale podporuje ji WebSDK pro publikování do Azure pro různé platformy.
  • Nepředávejte DeployOnBuild příkaz dotnet publish .

Další informace naleznete v tématu Microsoft.NET.Sdk.Publish.

Přidejte profil publikování do složky Properties/PublishProfiles projektu s následujícím obsahem:

<Project>
  <PropertyGroup>
    <PublishProtocol>Kudu</PublishProtocol>
    <PublishSiteName>nodewebapp</PublishSiteName>
    <UserName>username</UserName>
    <Password>password</Password>
  </PropertyGroup>
</Project>

Příklad publikování složky

Při publikování s profilem s názvem FolderProfile použijte některý z následujících příkazů:

dotnet publish /p:Configuration=Release /p:PublishProfile=FolderProfile
dotnet build /p:DeployOnBuild=true /p:PublishProfile=FolderProfile
msbuild /p:DeployOnBuild=true /p:PublishProfile=FolderProfile

Volání příkazu msbuild dotnet buildu rozhraní příkazového řádku .NET pro spuštění procesu sestavení a publikování Příkazy dotnet build a msbuild příkazy jsou při předávání profilu složky ekvivalentní. Při volání msbuild přímo ve Windows se používá verze rozhraní .NET Framework nástroje MSBuild. Volání dotnet build na profil, který není složkou:

  • msbuildVyvolá , který používá MSDeploy.
  • Výsledkem je selhání (i když běží ve Windows). Pokud chcete publikovat s profilem, který není ve složce, zavolejte msbuild přímo.

V sadě Visual Studio byl vytvořen následující profil publikování složky a publikuje se do sdílené síťové složky:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project.
You can customize the behavior of this process by editing this 
MSBuild file.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <PublishFramework>netcoreapp1.1</PublishFramework>
    <ProjectGuid>c30c453c-312e-40c4-aec9-394a145dee0b</ProjectGuid>
    <publishUrl>\\r8\Release\AdminWeb</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

V předchozím příkladu:

  • Vlastnost <ExcludeApp_Data> je přítomna pouze pro splnění požadavku schématu XML. Vlastnost <ExcludeApp_Data> nemá žádný vliv na proces publikování, i když je v kořenovém adresáři projektu složka App_Data . Složka App_Data neobdrží zvláštní zacházení, protože se používá v projektech ASP.NET 4.x.
  • Vlastnost <LastUsedBuildConfiguration> je nastavena na hodnotu Release. Při publikování ze sady Visual Studio je hodnota <LastUsedBuildConfiguration> nastavena pomocí hodnoty při spuštění procesu publikování. <LastUsedBuildConfiguration> je speciální a neměl by být přepsán v importovaném souboru MSBuild. Tuto vlastnost však lze přepsat z příkazového řádku pomocí některého z následujících přístupů.
    • Pomocí rozhraní příkazového řádku .NET:

      dotnet publish /p:Configuration=Release /p:PublishProfile=FolderProfile
      
      dotnet build -c Release /p:DeployOnBuild=true /p:PublishProfile=FolderProfile
      
    • Pomocí nástroje MSBuild:

      msbuild /p:Configuration=Release /p:DeployOnBuild=true /p:PublishProfile=FolderProfile
      

Publikování do koncového bodu MSDeploy z příkazového řádku

Následující příklad používá webovou aplikaci ASP.NET Core vytvořenou sadou Visual Studio s názvem AzureWebApp. Do sady Visual Studio se přidá profil publikování Aplikace Azure. Další informace o tom, jak vytvořit profil, najdete v části Publikovat profily .

Pokud chcete nasadit aplikaci pomocí profilu publikování, spusťte msbuild příkaz z příkazového řádku pro vývojáře sady Visual Studio. Příkazový řádek je k dispozici ve složce sady Visual Studio nabídky Start na hlavním panelu Windows. Pro snadnější přístup můžete přidat příkazový řádek do nabídky Nástroje v sadě Visual Studio. Další informace naleznete v tématu Developer Command Prompt for Visual Studio.

Nástroj MSBuild používá následující syntaxi příkazu:

msbuild {PATH} 
    /p:DeployOnBuild=true 
    /p:PublishProfile={PROFILE} 
    /p:Username={USERNAME} 
    /p:Password={PASSWORD}
  • {PATH}: Cesta k souboru projektu aplikace.
  • {PROFILE}: Název profilu publikování.
  • {USERNAME}: Uživatelské jméno MSDeploy. Najdete ho {USERNAME} v profilu publikování.
  • {PASSWORD}: Heslo MSDeploy. Získejte položku {PASSWORD} z {PROFILE}. Soubor PublishSettings Stáhněte soubor . Soubor PublishSettings z těchto:
    • Průzkumník řešení: Vyberte Zobrazit>Průzkumníka cloudu. Spojte se s předplatným Azure. Otevřete App Services. Klikněte pravým tlačítkem na aplikaci. Vyberte Stáhnout profil publikování.
    • Azure Portal: Na panelu Přehled webové aplikace vyberte Získat profil publikování.

Následující příklad používá profil publikování s názvem AzureWebApp – Nasazení webu:

msbuild "AzureWebApp.csproj" 
    /p:DeployOnBuild=true 
    /p:PublishProfile="AzureWebApp - Web Deploy" 
    /p:Username="$AzureWebApp" 
    /p:Password=".........."

Profil publikování lze také použít s příkazem dotnet msbuild rozhraní příkazového řádku .NET z příkazového prostředí Windows:

dotnet msbuild "AzureWebApp.csproj"
    /p:DeployOnBuild=true 
    /p:PublishProfile="AzureWebApp - Web Deploy" 
    /p:Username="$AzureWebApp" 
    /p:Password=".........."

Důležité

Příkaz dotnet msbuild je multiplatformní příkaz a může kompilovat aplikace ASP.NET Core v systémech macOS a Linux. Nástroj MSBuild v systému macOS a Linux ale nedokáže nasadit aplikaci do Azure ani do jiných koncových bodů MSDeploy.

Nastavení prostředí

<EnvironmentName> Do profilu publikování (.pubxml) nebo souboru projektu zahrňte vlastnost, která nastaví prostředí aplikace:

<PropertyGroup>
  <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

Pokud potřebujete transformace web.config (například nastavení proměnných prostředí na základě konfigurace, profilu nebo prostředí), přečtěte si téma Transformace web.config.

Vyloučit soubory

Při publikování webových aplikací ASP.NET Core jsou zahrnuty následující prostředky:

  • Artefakty sestavení
  • Složky a soubory odpovídající následujícím vzorům globbingu:
    • **\*.config (například web.config)
    • **\*.json (například appsettings.json)
    • wwwroot\**

NÁSTROJ MSBuild podporuje vzory globbingu. Následující <Content> prvek například potlačí kopírování textových souborů (.txt) ve složce wwwroot\content a jejích podsložkách:

<ItemGroup>
  <Content Update="wwwroot/content/**/*.txt" CopyToPublishDirectory="Never" />
</ItemGroup>

Předchozí kód lze přidat do profilu publikování nebo souboru .csproj . Po přidání do .csproj souboru se pravidlo přidá do všech profilů publikování v projektu.

Následující <MsDeploySkipRules> prvek vylučuje všechny soubory ze složky wwwroot\content :

<ItemGroup>
  <MsDeploySkipRules Include="CustomSkipFolder">
    <ObjectName>dirPath</ObjectName>
    <AbsolutePath>wwwroot\\content</AbsolutePath>
  </MsDeploySkipRules>
</ItemGroup>

<MsDeploySkipRules> neodstraní cíle přeskočení z lokality nasazení. <Content> cílové soubory a složky se odstraní z lokality nasazení. Předpokládejme například, že nasazená webová aplikace měla následující soubory:

  • Views/Home/About1.cshtml
  • Views/Home/About2.cshtml
  • Views/Home/About3.cshtml

Pokud se přidají následující <MsDeploySkipRules> prvky, tyto soubory by se na webu nasazení neodstranily.

<ItemGroup>
  <MsDeploySkipRules Include="CustomSkipFile">
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>Views\\Home\\About1.cshtml</AbsolutePath>
  </MsDeploySkipRules>

  <MsDeploySkipRules Include="CustomSkipFile">
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>Views\\Home\\About2.cshtml</AbsolutePath>
  </MsDeploySkipRules>

  <MsDeploySkipRules Include="CustomSkipFile">
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>Views\\Home\\About3.cshtml</AbsolutePath>
  </MsDeploySkipRules>
</ItemGroup>

Předchozí <MsDeploySkipRules> prvky brání nasazení přeskočených souborů. Po nasazení se tyto soubory neodstraní.

Následující <Content> prvek odstraní cílové soubory v lokalitě nasazení:

<ItemGroup>
  <Content Update="Views/Home/About?.cshtml" CopyToPublishDirectory="Never" />
</ItemGroup>

Použití nasazení příkazového řádku s předchozím <Content> prvkem přináší variaci následujícího výstupu:

MSDeployPublish:
  Starting Web deployment task from source: manifest(C:\Webs\Web1\obj\Release\{TARGET FRAMEWORK MONIKER}\PubTmp\Web1.SourceManifest.
  xml) to Destination: auto().
  Deleting file (Web11112\Views\Home\About1.cshtml).
  Deleting file (Web11112\Views\Home\About2.cshtml).
  Deleting file (Web11112\Views\Home\About3.cshtml).
  Updating file (Web11112\web.config).
  Updating file (Web11112\Web1.deps.json).
  Updating file (Web11112\Web1.dll).
  Updating file (Web11112\Web1.pdb).
  Updating file (Web11112\Web1.runtimeconfig.json).
  Successfully executed Web deployment task.
  Publish Succeeded.
Done Building Project "C:\Webs\Web1\Web1.csproj" (default targets).

Vložené soubory

Následující části popisují různé přístupy k zahrnutí souborů v době publikování. Oddíl Obecné zahrnutí souboru používá DotNetPublishFiles položku, kterou poskytuje soubor cíle publikování ve webové sadě SDK. Oddíl Selektivně zahrnutí souboru používá ResolvedFileToPublish položku, která je poskytována souborem cíle publikování v sadě .NET Core SDK. Vzhledem k tomu, že webová sada SDK závisí na sadě .NET Core SDK, lze některou položku použít v projektu ASP.NET Core.

Obecné zahrnutí souborů

Následující příklad element <ItemGroup> ukazuje kopírování složky umístěné mimo adresář projektu do složky publikovaného webu. Všechny soubory přidané do následujících značek <ItemGroup> jsou ve výchozím nastavení zahrnuty.

<ItemGroup>
  <_CustomFiles Include="$(MSBuildProjectDirectory)/../images/**/*" />
  <DotNetPublishFiles Include="@(_CustomFiles)">
    <DestinationRelativePath>wwwroot/images/%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
  </DotNetPublishFiles>
</ItemGroup>

Předchozí kód:

  • Lze přidat do .csproj souboru nebo do profilu publikování. Pokud se přidá do .csproj souboru, zahrne se do každého profilu publikování v projektu.
  • Deklaruje _CustomFiles položku pro ukládání souborů odpovídajících vzoru globbingu Include atributu. Složka obrázků odkazovaná v vzoru se nachází mimo adresář projektu. Rezervovaná vlastnost s názvem $(MSBuildProjectDirectory), která se překládá na absolutní cestu k souboru projektu.
  • Poskytuje seznam souborů pro danou DotNetPublishFiles položku. Ve výchozím nastavení je prvek položky <DestinationRelativePath> prázdný. Výchozí hodnota se přepíše v kódu a používá dobře známá metadata položek, jako %(RecursiveDir)je . Vnitřní text představuje složku wwwroot/images publikovaného webu.

Selektivní zahrnutí souborů

Zvýrazněný kód v následujícím příkladu ukazuje:

  • Kopírování souboru umístěného mimo projekt do složky wwwroot publikovaného webu. Název souboru ReadMe2.md je zachován.
  • Vyjma složky wwwroot\Content .
  • Vyloučení zobrazení\Home\About2.cshtml.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" 
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <PublishFramework />
    <ProjectGuid>afa9f185-7ce0-4935-9da1-ab676229d68a</ProjectGuid>
    <publishUrl>bin\Release\PublishOutput</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
  <ItemGroup>
    <ResolvedFileToPublish Include="..\ReadMe2.md">
      <RelativePath>wwwroot\ReadMe2.md</RelativePath>
    </ResolvedFileToPublish>

    <Content Update="wwwroot\Content\**\*" CopyToPublishDirectory="Never" />
    <Content Update="Views\Home\About2.cshtml" CopyToPublishDirectory="Never" />
  </ItemGroup>
</Project>

Předchozí příklad používá ResolvedFileToPublish položku, jejíž výchozí chování je vždy kopírovat soubory zadané v Include atributu na publikovaný web. Přepsat výchozí chování zahrnutím podřízeného <CopyToPublishDirectory> prvku s vnitřním textem nebo Never PreserveNewest. Příklad:

<ResolvedFileToPublish Include="..\ReadMe2.md">
  <RelativePath>wwwroot\ReadMe2.md</RelativePath>
  <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>

Další ukázky nasazení najdete v souboru README webové sady SDK.

Spuštění cíle před publikováním nebo po publikování

Předdefinované BeforePublish a AfterPublish cílové cíle provádějí cíl před nebo po cíli publikování. Do profilu publikování přidejte následující prvky pro protokolování zpráv konzoly před publikováním i po publikování:

<Target Name="CustomActionsBeforePublish" BeforeTargets="BeforePublish">
    <Message Text="Inside BeforePublish" Importance="high" />
  </Target>
  <Target Name="CustomActionsAfterPublish" AfterTargets="AfterPublish">
    <Message Text="Inside AfterPublish" Importance="high" />
</Target>

Publikování na server pomocí nedůvěryhodného certifikátu

<AllowUntrustedCertificate> Přidejte vlastnost s hodnotou True do profilu publikování:

<PropertyGroup>
  <AllowUntrustedCertificate>True</AllowUntrustedCertificate>
</PropertyGroup>

Služba Kudu

Pokud chcete zobrazit soubory v nasazení webové aplikace služby Aplikace Azure, použijte službu Kudu. scm Připojte token k názvu webové aplikace. Příklad:

Adresa URL Výsledek
http://mysite.azurewebsites.net/ Webová aplikace
http://mysite.scm.azurewebsites.net/ Služba Kudu

Vyberte položku nabídky Konzola ladění a zobrazte, upravte, odstraňte nebo přidejte soubory.

Další materiály