<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
    <ProjectGuid>{4C4C194C-B5E4-4991-8F87-4373E24CC19F}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AssemblyName>Umbraco.Web.UI</AssemblyName>
    <RootNamespace>Umbraco.Web.UI</RootNamespace>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
    <UseIISExpress>true</UseIISExpress>
    <IISExpressSSLPort>44319</IISExpressSSLPort>
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
    <UseGlobalApplicationHostFile />
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
    <Use64BitIISExpress />
    <TargetFrameworkProfile />
    <!--
      for some weird reason, and because Web.config is created only during BeforeBuild,
      the web.config configuration file would not be picked, and the build system would
      try to use a traditional app.config, thus missing all the binding redirects.

      this ensures that the build system things that the config file is web.config.

      (see FindAppConfigFile target in detailed build output)
    -->
    <AppConfig>Web.config</AppConfig>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE;DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
    <IntermediateOutputPath>..\bin\Debug\</IntermediateOutputPath>
    <PackageAsSingleFile>true</PackageAsSingleFile>
    <DesktopBuildPackageLocation>..\Package\Umbraco.Web.UI.zip</DesktopBuildPackageLocation>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <DocumentationFile>bin\Umbraco.Web.UI.xml</DocumentationFile>
    <Prefer32Bit>false</Prefer32Bit>
    <IntermediateOutputPath>..\bin\Release\</IntermediateOutputPath>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.ComponentModel" />
    <Reference Include="System.Data" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Drawing.Design" />
    <Reference Include="System.IdentityModel" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System" />
    <Reference Include="System.ComponentModel.Composition" />
    <Reference Include="System.ComponentModel.DataAnnotations" />
    <Reference Include="System.Web" />
    <Reference Include="System.Web.Abstractions" />
    <Reference Include="System.Web.ApplicationServices" />
    <Reference Include="System.Web.Entity" />
    <Reference Include="System.Web.Extensions" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="App_Data\" />
    <Folder Include="Views\MacroPartials\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="CSharpTest.Net.Collections" Version="14.906.1403.1082" />
    <PackageReference Include="ClientDependency" Version="1.9.7" />
    <PackageReference Include="ClientDependency-Mvc5" Version="1.8.0.0" />
    <PackageReference Include="Examine" Version="1.0.0" />
    <PackageReference Include="ImageProcessor.Web" Version="4.10.0.100" />
    <PackageReference Include="ImageProcessor.Web.Config" Version="2.5.0.100" />
    <PackageReference Include="Microsoft.AspNet.Identity.Owin" Version="2.2.2" />
    <PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
    <PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.7" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.10.0" />
    <PackageReference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" Version="2.0.1" />
    <PackageReference Include="Microsoft.Net.Compilers" Version="2.10.0">
      <PrivateAssets>all</PrivateAssets>
      <!-- development dependency -->
    </PackageReference>
    <PackageReference Include="Microsoft.Owin.Host.SystemWeb" Version="4.0.1" />
    <PackageReference Include="Microsoft.Owin.Security.Cookies" Version="4.0.1" />
    <PackageReference Include="Microsoft.Owin.Security.OAuth" Version="4.0.1" />
    <PackageReference Include="MiniProfiler" Version="4.0.138" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
    <PackageReference Include="Umbraco.ModelsBuilder.Ui">
      <Version>8.0.4</Version>
    </PackageReference>
    <PackageReference Include="Umbraco.SqlServerCE" Version="4.0.0.1" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Umbraco.Core\Umbraco.Core.csproj">
      <Project>{31785bc3-256c-4613-b2f5-a1b0bdded8c1}</Project>
      <Name>Umbraco.Core</Name>
    </ProjectReference>
    <ProjectReference Include="..\Umbraco.Examine\Umbraco.Examine.csproj">
      <Name>Umbraco.Examine</Name>
      <Project>{07FBC26B-2927-4A22-8D96-D644C667FECC}</Project>
    </ProjectReference>
    <ProjectReference Include="..\Umbraco.Web\Umbraco.Web.csproj">
      <Project>{651e1350-91b6-44b7-bd60-7207006d7003}</Project>
      <Name>Umbraco.Web</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\SolutionInfo.cs">
      <Link>Properties\SolutionInfo.cs</Link>
    </Compile>
    <Compile Include="Config\splashes\NoNodes.aspx.cs">
      <DependentUpon>noNodes.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
    </Compile>
    <Compile Include="Config\splashes\NoNodes.aspx.designer.cs">
      <DependentUpon>noNodes.aspx</DependentUpon>
    </Compile>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\Settings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
      <DependentUpon>Settings.settings</DependentUpon>
    </Compile>
    <Content Include="App_Plugins\ModelsBuilder\modelsbuilder.controller.js" />
    <Content Include="App_Plugins\ModelsBuilder\modelsbuilder.html" />
    <Content Include="App_Plugins\ModelsBuilder\modelsbuilder.resource.js" />
    <Content Include="Config\grid.editors.config.js" />
    <Content Include="Config\Lang\cs-CZ.user.xml" />
    <Content Include="Config\Lang\da-DK.user.xml" />
    <Content Include="Config\Lang\de-DE.user.xml" />
    <Content Include="Config\Lang\en-GB.user.xml" />
    <Content Include="Config\Lang\en-US.user.xml" />
    <Content Include="Config\Lang\es-ES.user.xml" />
    <Content Include="Config\Lang\fr-FR.user.xml" />
    <Content Include="Config\Lang\he-IL.user.xml" />
    <Content Include="Config\Lang\it-IT.user.xml" />
    <Content Include="Config\Lang\ja-JP.user.xml" />
    <Content Include="Config\Lang\ko-KR.user.xml" />
    <Content Include="Config\Lang\nl-NL.user.xml" />
    <Content Include="Config\Lang\nb-NO.user.xml" />
    <Content Include="Config\Lang\pl-PL.user.xml" />
    <Content Include="Config\Lang\pt-BR.user.xml" />
    <Content Include="Config\Lang\ru-RU.user.xml" />
    <Content Include="Config\Lang\sv-SE.user.xml" />
    <Content Include="Config\Lang\zh-CN.user.xml" />
    <Content Include="Config\splashes\noNodes.aspx" />
    <Content Include="Umbraco\Config\Lang\cs.xml" />
    <Content Include="Umbraco\Config\Lang\tr.xml" />
    <Content Include="Umbraco\Config\Lang\zh_tw.xml" />
    <Content Include="Config\Splashes\noNodes.aspx" />
    <Content Include="Umbraco\Install\Views\Web.config" />
    <Content Include="App_Plugins\ModelsBuilder\package.manifest" />
    <None Include="Config\ClientDependency.Release.config">
      <DependentUpon>ClientDependency.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Config\imageprocessor\security.config" />
    <Content Include="Config\imageprocessor\processing.config" />
    <Content Include="Config\imageprocessor\cache.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Config\HealthChecks.config">
      <SubType>Designer</SubType>
    </Content>
    <None Include="Config\HealthChecks.Release.config">
      <DependentUpon>HealthChecks.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Config\serilog.user.config">
      <SubType>Designer</SubType>
    </Content>
    <None Include="Config\serilog.user.Release.config">
      <DependentUpon>serilog.user.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Config\serilog.config">
      <SubType>Designer</SubType>
    </Content>
    <None Include="Config\serilog.Release.config">
      <DependentUpon>serilog.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Config\logviewer.searches.config.js" />
    <None Include="Config\umbracoSettings.Release.config">
      <DependentUpon>umbracoSettings.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <None Include="Config\tinyMceConfig.Release.config">
      <DependentUpon>tinyMceConfig.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Umbraco\Install\Views\Index.cshtml" />
    <Content Include="Media\Web.config" />
    <Content Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </Content>
    <Content Include="Global.asax" />
    <Content Include="Umbraco\Config\Lang\en_us.xml">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Umbraco\Config\Lang\he.xml" />
    <Content Include="Umbraco\Config\Lang\ja.xml" />
    <Content Include="Umbraco\Config\Lang\pl.xml" />
    <Content Include="Umbraco\Config\Lang\pt.xml" />
    <Content Include="Umbraco\Config\Lang\ru.xml" />
    <Content Include="Umbraco\Config\Lang\zh.xml" />
    <Content Include="Umbraco\Config\Lang\ko.xml" />
    <Content Include="Umbraco\Config\Lang\da.xml">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Umbraco\Config\Lang\de.xml" />
    <Content Include="Umbraco\Config\Lang\es.xml" />
    <Content Include="Umbraco\Config\Lang\fr.xml" />
    <Content Include="Umbraco\Config\Lang\it.xml" />
    <Content Include="Umbraco\Config\Lang\nl.xml" />
    <Content Include="Umbraco\Config\Lang\nb.xml" />
    <Content Include="Umbraco\Config\Lang\sv.xml" />
    <Content Include="Umbraco\Config\Lang\en.xml">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Umbraco\Js\UmbracoSpeechBubbleBackEnd.js" />
    <Content Include="Config\ClientDependency.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Umbraco\Views\Default.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\EditProfile.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\Empty.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\Login.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\LoginStatus.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\RegisterMember.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListAncestorsFromCurrentPage.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\Breadcrumb.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\Gallery.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesFromChangeableSource.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesFromCurrentPage.cshtml">
      <SubType>Code</SubType>
    </Content>
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesOrderedByDate.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesOrderedByName.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesOrderedByProperty.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListChildPagesWithDoctype.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListDescendantsFromCurrentPage.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\ListImagesFromMediaFolder.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\MultinodeTree-picker.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\Navigation.cshtml" />
    <Content Include="Umbraco\PartialViewMacros\Templates\SiteMap.cshtml" />
    <Content Include="Umbraco\Views\AuthorizeUpgrade.cshtml" />
    <Content Include="Views\Web.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Web.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Views\Partials\Grid\Bootstrap3.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Embed.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Macro.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Media.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Rte.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Textstring.cshtml" />
    <Content Include="Views\Partials\Grid\Editors\Base.cshtml" />
    <Content Include="Views\Partials\Grid\Bootstrap3-Fluid.cshtml" />
    <Content Include="Umbraco\Views\Preview\Index.cshtml" />
    <Content Include="Umbraco\Views\web.config" />
    <None Include="Web.Debug.config.transformed" />
    <None Include="web.Template.Debug.config">
      <DependentUpon>Web.Template.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <None Include="web.Template.Release.config">
      <DependentUpon>Web.Template.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <Content Include="Umbraco\Js\dualSelectBox.js" />
    <Content Include="Umbraco\Js\guiFunctions.js" />
    <Content Include="Umbraco\Js\umbracoCheckKeys.js" />
    <!--<Content Include="Umbraco\users\PermissionEditor.aspx" />-->
    <None Include="web.Template.config">
      <SubType>Designer</SubType>
    </None>
    <Content Include="Config\tinyMceConfig.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Config\umbracoSettings.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Config\BackOfficeTours\getting-started.json" />
  </ItemGroup>
  <!-- determine VSToolsPath -->
  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
    <VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0</VSToolsPath>
    <VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0</VSToolsPath>
    <VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0</VSToolsPath>
    <VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0</VSToolsPath>
    <VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v16.0</VSToolsPath>
  </PropertyGroup>
  <!-- determine WebPublishingTasks -->
  <PropertyGroup>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <WebPublishingTasks Condition="exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
    <!-- Temporary addition for the VS2019 preview - can be removed when VS2019 final is released, then v16 above will be used -->
    <WebPublishingTasks Condition="exists('$(ProgramFiles32)\Microsoft Visual Studio\2019\Preview\MSBuild\Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.Tasks.dll')">$(ProgramFiles32)\Microsoft Visual Studio\2019\Preview\MSBuild\Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.Tasks.dll</WebPublishingTasks>
  </PropertyGroup>
  <!-- get TransformXml task from WebPublishingtasks -->
  <UsingTask TaskName="TransformXml" AssemblyFile="$(WebPublishingTasks)" Condition="'$(WebPublishingTasks)' != ''" />
  <!-- get NuGet packages directory -->
  <PropertyGroup>
    <NuGetPackages>$(NuGetPackageFolders.Split(';')[0])</NuGetPackages>
  </PropertyGroup>
  <!-- import targets -->
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <!-- web project -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>False</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>8100</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost:8100</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <Target Name="BeforeBuild">
    <Message Text="-BeforeBuild-" Importance="high" />
    <Message Text="MSBuildExtensionsPath: $(MSBuildExtensionsPath)" Importance="high" />
    <Message Text="WebPublishingTasks:    $(WebPublishingTasks)" Importance="high" />
    <Message Text="NuGetPackageFolders:   $(NuGetPackageFolders)" Importance="high" />
    <Message Text="NuGetPackages:         $(NuGetPackages)" Importance="high" />
    <!-- Create web.config file from Template if it doesn't exist -->
    <Message Text="Copy Web.Template.config to Web.config" Importance="high" Condition="!Exists('$(ProjectDir)Web.config')" />
    <Copy SourceFiles="$(ProjectDir)web.Template.config" DestinationFiles="$(ProjectDir)Web.config" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="!Exists('$(ProjectDir)Web.config')" />
    <!-- Transform the local Web.config file in Visual Studio -->
    <Message Text="Transform Web.config with web.Template.$(Configuration).config into Web.$(Configuration).config.transformed (this is Visual Studio)" Importance="high" Condition="$(BuildingInsideVisualStudio) == true" />
    <TransformXml Source="$(ProjectDir)Web.config" Transform="$(ProjectDir)web.Template.$(Configuration).config" Destination="$(ProjectDir)Web.$(Configuration).config.transformed" Condition="$(BuildingInsideVisualStudio) == true" />
    <!-- Always transform the Template file when not in VS (ie: build.bat) -->
    <Message Text="Transform Web.Template.config with web.Template.$(Configuration).config into Web.$(Configuration).config.transformed (this is not Visual Studio)" Importance="high" Condition="$(BuildingInsideVisualStudio) != true" />
    <TransformXml Source="$(ProjectDir)Web.Template.config" Transform="$(ProjectDir)web.Template.$(Configuration).config" Destination="Web.$(Configuration).config.transformed" Condition="$(BuildingInsideVisualStudio) != true" />
    <!-- Create ClientDependency.config file from Template if it doesn't exist -->
    <Message Text="Copy ClientDependency.$(Configuration).config to ClientDependency.config" Importance="high" Condition="!Exists('$(ProjectDir)Config\ClientDependency.config')" />
    <Copy SourceFiles="$(ProjectDir)Config\ClientDependency.Release.config" DestinationFiles="$(ProjectDir)Config\ClientDependency.config" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="!Exists('$(ProjectDir)Config\ClientDependency.config')" />
    <!-- Create Serilog.config & serilog.user.config file from Templates if it doesn't exist -->
    <Message Text="Copy serilog.$(Configuration).config to serilog.config" Importance="high" Condition="!Exists('$(ProjectDir)Config\serilog.config')" />
    <Copy SourceFiles="$(ProjectDir)Config\serilog.Release.config" DestinationFiles="$(ProjectDir)Config\serilog.config" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="!Exists('$(ProjectDir)Config\serilog.config')" />
    <Message Text="Copy serilog.user.$(Configuration).config to serilog.user.config" Importance="high" Condition="!Exists('$(ProjectDir)Config\serilog.user.config')" />
    <Copy SourceFiles="$(ProjectDir)Config\serilog.user.Release.config" DestinationFiles="$(ProjectDir)Config\serilog.user.config" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="!Exists('$(ProjectDir)Config\serilog.user.config')" />
    <!-- Build Belle, if building is Visual Studio and the build folder does not exist yet -->
    <Message Text="Skip Belle because UmbracoBuild is '$(UmbracoBuild)' (this is not Visual Studio)." Importance="High" Condition="'$(UmbracoBuild)' != ''" />
    <Message Text="Skip Belle because $(ProjectDir)Umbraco\lib exists." Importance="High" Condition="Exists('$(ProjectDir)Umbraco\lib')" />
    <Message Text="Build Belle because UmbracoBuild is empty (this is Visual Studio), and $(ProjectDir)Umbraco\lib does not exist." Importance="High" Condition="!Exists('$(ProjectDir)Umbraco\lib') and '$(UmbracoBuild)' == ''" />
    <CallTarget Targets="BelleBuild" Condition="!Exists('$(ProjectDir)Umbraco\lib') and '$(UmbracoBuild)' == ''" />
  </Target>
  <!-- clean Belle when cleaning and rebuilding, but only in Visual Studio -->
  <Target Name="CleanBelle" AfterTargets="Clean" Condition="'$(UmbracoBuild)' == ''">
    <Message Text="-CleanBelle-" Importance="high" />
    <Message Text="Nothing to clean, as $(ProjectDir)Umbraco\lib does not exist." Importance="High" Condition="!Exists('$(ProjectDir)Umbraco\lib')" />
    <Message Text="Not cleaning (found src/preserve.belle)." Importance="High" Condition="Exists('$(ProjectDir)Umbraco\lib') and Exists('$(SolutionDir)preserve.belle')" />
    <Message Text="Remove $(ProjectDir)Umbraco\lib." Importance="High" Condition="Exists('$(ProjectDir)Umbraco\lib') and !Exists('$(SolutionDir)preserve.belle')" />
    <ItemGroup>
      <BelleLib Include="$(ProjectDir)Umbraco\lib" />
    </ItemGroup>
    <RemoveDir Directories="@(BelleLib)" Condition="Exists('$(ProjectDir)Umbraco\lib') and !Exists('$(SolutionDir)preserve.belle')" />
  </Target>
  <Target Name="AfterBuild">
    <Message Text="-AfterBuild-" Importance="high" />
    <Message Text="Copy Web.$(Configuration).config.transformed over to Web.config (this is Visual Studio)" Importance="high" Condition="$(BuildingInsideVisualStudio) == true" />
    <Copy SourceFiles="$(ProjectDir)Web.$(Configuration).config.transformed" DestinationFiles="$(ProjectDir)Web.config" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="$(BuildingInsideVisualStudio) == true" />
  </Target>
  <Target Name="BelleBuild">
    <Exec WorkingDirectory="$(ProjectDir)\..\..\" Command="powershell -ExecutionPolicy RemoteSigned -Command &quot;&amp;{ $ubuild = &amp;&quot;$pwd\build\build.ps1&quot; -get ; $ubuild.CompileBelle() }&quot;" />
  </Target>
  <Target Name="ResetConfigFiles" Condition="'$(WebProjectOutputDir)' != ''" BeforeTargets="Build;Rebuild" Inputs="@(ConfigFiles)" Outputs="%(Identity).Dummy">
    <ItemGroup>
      <!-- every *.config (recursive) files xcept web[.*].config -->
      <!-- beware! includes any rogue git-ignored or temp config file -->
      <ConfigFiles Include="$(ProjectDir)**\*.config" Exclude="$(ProjectDir)web.config;$(ProjectDir)web.*.config" />
      <!-- and the UI file -->
      <ConfigFiles Include="$(ProjectDir)umbraco\config\create\UI.xml" />
    </ItemGroup>
    <PropertyGroup>
      <!-- the original file eg src/.../umbracoSettings.config -->
      <OriginalFileName>@(ConfigFiles)</OriginalFileName>
      <!-- the configuration version of the original file eg src/.../umbracoSettings.Release.config -->
      <ModifiedFileName>$(OriginalFileName.Replace("%(ConfigFiles.Extension)",".$(Configuration)%(ConfigFiles.Extension)"))</ModifiedFileName>
      <!-- the target file eg webapp/.../umbracoSettings.config -->
      <OutputFileName>$(OriginalFileName.Replace("$(ProjectDir)", "$(WebProjectOutputDir)"))</OutputFileName>
    </PropertyGroup>
    <!--
      for each whatever.config file,
      if there is a whatever.(Release|Debug).config file,
      copy it over as whatever.config
    -->
    <Message Text="ConfigFile: $(OriginalFileName) -&gt; $(OutputFileName)" Importance="high" Condition="Exists('$(ModifiedFileName)')" />
    <Copy SourceFiles="$(ModifiedFileName)" DestinationFiles="$(OutputFileName)" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="Exists('$(ModifiedFileName)')" />
  </Target>
</Project>