File size: 3,251 Bytes
090629c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!--

***********************************************************************************************

Microsoft.NET.ClickOnce.targets



WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have

          created a backup copy.  Incorrect changes to this file will make it

          impossible to load or build your projects from the command-line or the IDE.



Copyright (c) .NET Foundation. All rights reserved.

***********************************************************************************************

-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <PublishDirName>app.publish</PublishDirName>
    <PublishDir>$(OutputPath)app.publish\</PublishDir>
    <GenerateManifests>true</GenerateManifests>
    <_DeploymentSignClickOnceManifests Condition="'$(SignManifests)' == 'true'">true</_DeploymentSignClickOnceManifests>
    <PublishProtocolProviderTargets>ClickOncePublish</PublishProtocolProviderTargets>
  </PropertyGroup>

  <!--

    .NET Core ClickOnce manifest generation needs to run after this list of targets so that all

    json files are generated and files to publish are computed.

  -->
  <PropertyGroup>
    <PublishDepsFilePath>$(PublishDir)$(ProjectDepsFileName)</PublishDepsFilePath>
    <DeploymentComputeClickOnceManifestInfoDependsOn>
      $(DeploymentComputeClickOnceManifestInfoDependsOn);
      GenerateBuildDependencyFile;
      GenerateBuildRuntimeConfigurationFiles;
      ComputeFilesToPublish;
      GetNetCoreRuntimeJsonFilesForClickOnce;
    </DeploymentComputeClickOnceManifestInfoDependsOn>
  </PropertyGroup>

  <Target Name="GetNetCoreRuntimeJsonFilesForClickOnce"

          Condition="'$(GenerateDependencyFile)' == 'true'">

    <!-- Get correct deps json files based on _UseBuildDependencyFile -->
    <ItemGroup>
      <ProjectDepsFilesForClickOnce Condition="'$(_UseBuildDependencyFile)' == 'true'" Include="$(ProjectDepsFilePath)"/>
      <ProjectDepsFilesForClickOnce Condition="'$(_UseBuildDependencyFile)' != 'true'" Include="$(IntermediateDepsFilePath)"/>
    </ItemGroup>

    <ItemGroup Condition="'$(GenerateRuntimeConfigurationFiles)'=='true'">
      <ProjectRuntimeConfigFilesForClickOnce Include="$(ProjectRuntimeConfigFilePath)"/>
    </ItemGroup>

    <!-- Add runtimeconfig and deps json file to item group that's included in files for clickonce publishing -->
    <ItemGroup>
       <NetCoreRuntimeJsonFilesForClickOnce Include="@(ProjectRuntimeConfigFilesForClickOnce);@(ProjectDepsFilesForClickOnce)"/>
    </ItemGroup>
  </Target>

  <!--

    Add necessary clickonce targets that need to run during publish process.

    These targets are defined in MS.Common.CurrentVersion.targets in the msbuild repo.

  -->
  <PropertyGroup>
    <ClickOncePublishDependsOn>
      $(ClickOncePublishDependsOn);
      _CopyFilesToPublishFolder;
      _DeploymentGenerateBootstrapper;
      ResolveKeySource;
      _DeploymentSignClickOnceDeployment;
      AfterPublish
    </ClickOncePublishDependsOn>
  </PropertyGroup>

  <Target Name="ClickOncePublish" Condition="'$(PublishableProject)'=='true'" DependsOnTargets="$(ClickOncePublishDependsOn)" />
</Project>