mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-10-20 23:56:41 +08:00
109 lines
5.1 KiB
XML
109 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" DefaultTargets="Clean;CreatePackage;GenerateHelpFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
|
<BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
|
|
<NuGetExe>$(BuildRoot)target\nuget\nuget.exe</NuGetExe>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<VisualStudioVersion Include="2012">
|
|
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln</SolutionFile>
|
|
</VisualStudioVersion>
|
|
<VisualStudioVersion Include="2015">
|
|
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2015.sln</SolutionFile>
|
|
</VisualStudioVersion>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<TargetFramework Include=".NET Framework 3.5">
|
|
<OutputDirectory>Renci.SshNet.NET35\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>net35</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include=".NET Framework 4.0">
|
|
<OutputDirectory>Renci.SshNet\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>net40</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include=".NETStandard 1.3">
|
|
<OutputDirectory>Renci.SshNet.NETCore\bin\$(Configuration)\netstandard1.3</OutputDirectory>
|
|
<Moniker>netstandard1.3</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include="Windows Phone Silverlight 7.1">
|
|
<OutputDirectory>Renci.SshNet.WindowsPhone\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>wp71</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include="Windows Phone Silverlight 8.0">
|
|
<OutputDirectory>Renci.SshNet.WindowsPhone8\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>wp8</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include="Silverlight 4">
|
|
<OutputDirectory>Renci.SshNet.Silverlight\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>sl4</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include="Silverlight 5">
|
|
<OutputDirectory>Renci.SshNet.Silverlight5\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>sl5</Moniker>
|
|
</TargetFramework>
|
|
<TargetFramework Include="Universal Windows Platform 10">
|
|
<OutputDirectory>Renci.SshNet.UAP10\bin\$(Configuration)</OutputDirectory>
|
|
<Moniker>uap10</Moniker>
|
|
</TargetFramework>
|
|
</ItemGroup>
|
|
<Target Name="Clean">
|
|
<RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
|
|
<ItemGroup>
|
|
<ProjectToBuild Remove="@(ProjectToBuild)"/>
|
|
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
|
|
<Properties>Configuration=Release</Properties>
|
|
</ProjectToBuild>
|
|
</ItemGroup>
|
|
<MSBuild Projects="@(ProjectToBuild)" Targets="Clean"/>
|
|
</Target>
|
|
<Target Name="DownloadNuGet">
|
|
<MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/>
|
|
<DownloadFile
|
|
Address="https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
|
|
FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/>
|
|
</Target>
|
|
<Target Name="RestoreNuGetPackages" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersion.Identity)">
|
|
<Message Text="Restoring nuget packages for '%(VisualStudioVersion.SolutionFile)'..." Importance="High"/>
|
|
<Exec Command="$(NuGetExe) restore "%(VisualStudioVersion.SolutionFile)""/>
|
|
</Target>
|
|
<Target Name="Build" DependsOnTargets="RestoreNuGetPackages" Outputs="%(VisualStudioVersion.Identity)">
|
|
<ItemGroup>
|
|
<ProjectToBuild Remove="@(ProjectToBuild)"/>
|
|
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
|
|
<Properties>Configuration=Release</Properties>
|
|
</ProjectToBuild>
|
|
</ItemGroup>
|
|
<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
|
|
</Target>
|
|
<Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
|
|
<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory "$(MSBuildThisFileDirectory)target" -BasePath "$(MSBuildThisFileDirectory)target\package" -NonInteractive"/>
|
|
</Target>
|
|
<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
|
|
<ItemGroup>
|
|
<BuildOutput Remove="@(BuildOutput)"/>
|
|
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.dll"/>
|
|
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.xml"/>
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
|
|
</Target>
|
|
<Target Name="GenerateHelpFile" DependsOnTargets="Build">
|
|
<Error Text="Please install Sandcastle, and ensure the SHFBFolder environment variable is set." Condition="'$(SHFBFolder)'==''"/>
|
|
<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
|
|
</Target>
|
|
|
|
<UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
|
<ParameterGroup>
|
|
<Address ParameterType="System.String" Required="true"/>
|
|
<FileName ParameterType="System.String" Required="true" />
|
|
</ParameterGroup>
|
|
<Task>
|
|
<Reference Include="System" />
|
|
<Code Type="Fragment" Language="cs">
|
|
<![CDATA[
|
|
new System.Net.WebClient().DownloadFile(Address, FileName);
|
|
]]>
|
|
</Code>
|
|
</Task>
|
|
</UsingTask>
|
|
</Project> |