Skip to content

Commit bc154e6

Browse files
authored
Merge pull request #277 from sshnet/develop
Merge develop changes into master to prepare for 2016.1.0-beta2
2 parents 7da9b86 + b34e1c0 commit bc154e6

File tree

240 files changed

+14511
-3704
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+14511
-3704
lines changed

README.md

+25-9
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
SSH.NET
22
=======
3-
SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism.
3+
SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.
44

55
[![Version](https://img.shields.io/nuget/vpre/SSH.NET.svg)](https://www.nuget.org/packages/SSH.NET)
66
[![Build status](https://ci.appveyor.com/api/projects/status/ih77qu6tap3o92gu/branch/develop?svg=true)](https://ci.appveyor.com/api/projects/status/ih77qu6tap3o92gu/branch/develop)
77

8-
##Introduction
8+
## Introduction
99
This project was inspired by **Sharp.SSH** library which was ported from java and it seems like was not supported for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism to achieve the best performance possible.
1010

11-
##Features
11+
## Features
1212
* Execution of SSH command using both synchronous and asynchronous methods
1313
* Return command execution exit status and other information
1414
* Provide SFTP functionality for both synchronous and asynchronous operations
@@ -25,15 +25,15 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
2525
* Supports two-factor or higher authentication
2626
* Supports SOCKS4, SOCKS5 and HTTP Proxy
2727

28-
##Key Exchange Method
28+
## Key Exchange Method
2929

3030
**SSH.NET** supports the following key exchange methods:
3131
* diffie-hellman-group-exchange-sha256
3232
* diffie-hellman-group-exchange-sha1
3333
* diffie-hellman-group14-sha1
3434
* diffie-hellman-group1-sha1
3535

36-
##Message Authentication Code
36+
## Message Authentication Code
3737

3838
**SSH.NET** supports the following MAC algorithms:
3939
* hmac-md5
@@ -47,23 +47,39 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
4747
* hmac-ripemd160
4848
4949

50-
##Framework Support
50+
## Framework Support
5151
**SSH.NET** supports the following target frameworks:
5252
* .NET Framework 3.5
5353
* .NET Framework 4.0 (and higher)
54-
* .NET Platform Standard 1.3
54+
* .NET Standard 1.3
5555
* Silverlight 4
5656
* Silverlight 5
5757
* Windows Phone 7.1
5858
* Windows Phone 8.0
5959
* Universal Windows Platform 10
6060

61-
##Building SSH.NET
61+
## Usage
62+
Establish an SFTP connection using both password and public-key authentication:
63+
64+
```cs
65+
var connectionInfo = new ConnectionInfo("sftp.foo.com",
66+
"guest",
67+
new PasswordAuthenticationMethod("guest", "pwd"),
68+
new PrivateKeyAuthenticationMethod("rsa.key"));
69+
using (var client = new SftpClient(connectionInfo))
70+
{
71+
client.Connect();
72+
}
73+
74+
```
75+
76+
## Building SSH.NET
6277

6378
Software | net35 | net40 | netstandard1.3 | sl4 | sl5 | wp71 | wp8 | uap10.0 |
6479
--------------------------------- | :---: | :---: | :------------: | :-: | :-: | :--: | :-: | :-----: |
6580
Windows Phone SDK 8.0 | | | | x | x | x | x |
6681
Visual Studio 2012 Update 5 | x | x | | x | x | x | x |
67-
Visual Studio 2015 Update 3 | x | x | x | | x | | x | x
82+
Visual Studio 2015 Update 3 | x | x | | | x | | x | x
83+
Visual Studio 2017 | | x | x | | | | |
6884

6985
[![NDepend](http://download-codeplex.sec.s-msft.com/Download?ProjectName=sshnet&DownloadId=629750)](http://ndepend.com)

appveyor.yml

+5-6
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ build:
77
project: src\Renci.SshNet.VS2015.sln
88
verbosity: minimal
99

10-
test:
11-
assemblies: src\Renci.SshNet.Tests\bin\Debug\Renci.SshNet.Tests.dll
12-
categories:
13-
except:
14-
- integration
15-
- LongRunning
10+
test_script:
11+
- cmd: >-
12+
vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"
13+
14+
vstest.console /logger:Appveyor src\Renci.SshNet.Tests.NET35\bin\Debug\Renci.SshNet.Tests.NET35.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"

build/build.cmd

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@echo off
2+
3+
set MSBUILD14_EXE=%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe
4+
set MSBUILD15_EXE=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\\MSBuild\15.0\bin\MSBuild.exe
5+
6+
call "%MSBUILD14_EXE%" build.proj /t:Clean
7+
call "%MSBUILD15_EXE%" build.proj /t:Clean
8+
9+
call "%MSBUILD14_EXE%" build.proj /t:Build
10+
call "%MSBUILD15_EXE%" build.proj /t:Build
11+
12+
call "%MSBUILD15_EXE%" build.proj /t:Package /p:ReleaseVersion=%1

build/build.proj

+18-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="4.0" DefaultTargets="Clean;CreateNuGetPackage;CreateBinPackage;GenerateHelpFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<UsingTask TaskName="Zip" AssemblyFile="$(MSBuildThisFileDirectory)target\nuget\packages\$(MSBuildTasksPackageId).$(MSBuildTasksPackageVersion)\tools\MSBuild.Community.Tasks.dll"/>
44
<PropertyGroup>
55
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
@@ -11,9 +11,17 @@
1111
<ItemGroup>
1212
<VisualStudioVersion Include="2012">
1313
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln</SolutionFile>
14+
<MSBuildToolsVersion>14.0</MSBuildToolsVersion>
15+
<NuGetPackageRestore>true</NuGetPackageRestore>
1416
</VisualStudioVersion>
1517
<VisualStudioVersion Include="2015">
1618
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2015.sln</SolutionFile>
19+
<MSBuildToolsVersion>14.0</MSBuildToolsVersion>
20+
<NuGetPackageRestore>true</NuGetPackageRestore>
21+
</VisualStudioVersion>
22+
<VisualStudioVersion Include="2017">
23+
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2017.sln</SolutionFile>
24+
<MSBuildToolsVersion>15.0</MSBuildToolsVersion>
1725
</VisualStudioVersion>
1826
</ItemGroup>
1927
<ItemGroup>
@@ -54,11 +62,11 @@
5462
<RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
5563
<ItemGroup>
5664
<ProjectToBuild Remove="@(ProjectToBuild)"/>
57-
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
65+
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)" Condition="'%(VisualStudioVersion.MSBuildToolsVersion)'=='$(MSBuildToolsVersion)'">
5866
<Properties>Configuration=Release</Properties>
5967
</ProjectToBuild>
6068
</ItemGroup>
61-
<MSBuild Projects="@(ProjectToBuild)" Targets="Clean"/>
69+
<MSBuild Projects="@(ProjectToBuild)" Targets="Clean" />
6270
</Target>
6371
<Target Name="DownloadNuGet">
6472
<MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/>
@@ -67,35 +75,36 @@
6775
FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/>
6876
</Target>
6977
<Target Name="RestoreNuGetPackages" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersion.Identity)">
70-
<Message Text="Restoring nuget packages for '%(VisualStudioVersion.SolutionFile)'..." Importance="High"/>
71-
<Exec Command="$(NuGetExe) restore &quot;%(VisualStudioVersion.SolutionFile)&quot;"/>
78+
<Message Text="Restoring nuget packages for '%(VisualStudioVersion.SolutionFile)'..." Importance="High" Condition="'%(VisualStudioVersion.MSBuildToolsVersion)'=='$(MSBuildToolsVersion)' and '%(VisualStudioVersion.NuGetPackageRestore)'=='true'"/>
79+
<Exec Command="$(NuGetExe) restore &quot;%(VisualStudioVersion.SolutionFile)&quot;" Condition="'%(VisualStudioVersion.MSBuildToolsVersion)'=='$(MSBuildToolsVersion)' and '%(VisualStudioVersion.NuGetPackageRestore)'=='true'"/>
7280
</Target>
7381
<Target Name="Build" DependsOnTargets="RestoreNuGetPackages" Outputs="%(VisualStudioVersion.Identity)">
7482
<ItemGroup>
7583
<ProjectToBuild Remove="@(ProjectToBuild)"/>
76-
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
84+
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)" Condition="'%(VisualStudioVersion.MSBuildToolsVersion)'=='$(MSBuildToolsVersion)'">
7785
<Properties>Configuration=Release</Properties>
7886
</ProjectToBuild>
7987
</ItemGroup>
8088
<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
8189
</Target>
90+
<Target Name="Package" DependsOnTargets="CreateNuGetPackage;CreateBinPackage;GenerateHelpFile"/>
8291
<Target Name="CreateNuGetPackage" DependsOnTargets="CopyBuildOutputToPackage">
8392
<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
8493
</Target>
85-
<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
94+
<Target Name="CopyBuildOutputToPackage" Outputs="%(TargetFramework.Identity)">
8695
<ItemGroup>
8796
<BuildOutput Remove="@(BuildOutput)"/>
8897
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.dll"/>
8998
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.xml"/>
9099
</ItemGroup>
91100
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
92101
</Target>
93-
<Target Name="GenerateHelpFile" DependsOnTargets="Build;CheckReleaseVersion">
102+
<Target Name="GenerateHelpFile" DependsOnTargets="CheckReleaseVersion">
94103
<Error Text="Please install Sandcastle, and ensure the SHFBFolder environment variable is set." Condition="'$(SHFBFolder)'==''"/>
95104
<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
96105
<Move SourceFiles="$(MSBuildThisFileDirectory)target\help\SshNet.Help.chm" DestinationFiles="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-help.chm"/>
97106
</Target>
98-
<Target Name="CopyBuildOutputToBin" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
107+
<Target Name="CopyBuildOutputToBin" Outputs="%(TargetFramework.Identity)">
99108
<ItemGroup>
100109
<BuildOutput Remove="@(BuildOutput)"/>
101110
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\*.dll"/>

src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj

+32
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<WarningLevel>4</WarningLevel>
2424
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2525
<DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
26+
<LangVersion>5</LangVersion>
2627
</PropertyGroup>
2728
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
2829
<DebugType>none</DebugType>
@@ -35,6 +36,7 @@
3536
<NoWarn>
3637
</NoWarn>
3738
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
39+
<LangVersion>5</LangVersion>
3840
</PropertyGroup>
3941
<PropertyGroup>
4042
<SignAssembly>true</SignAssembly>
@@ -186,6 +188,9 @@
186188
<Compile Include="..\Renci.SshNet\Common\ObjectIdentifier.cs">
187189
<Link>Common\ObjectIdentifier.cs</Link>
188190
</Compile>
191+
<Compile Include="..\Renci.SshNet\Common\Pack.cs">
192+
<Link>Common\Pack.cs</Link>
193+
</Compile>
189194
<Compile Include="..\Renci.SshNet\Common\PipeStream.cs">
190195
<Link>Common\PipeStream.cs</Link>
191196
</Compile>
@@ -735,6 +740,12 @@
735740
<Compile Include="..\Renci.SshNet\Sftp\Flags.cs">
736741
<Link>Sftp\Flags.cs</Link>
737742
</Compile>
743+
<Compile Include="..\Renci.SshNet\Sftp\ISftpFileReader.cs">
744+
<Link>Sftp\ISftpFileReader.cs</Link>
745+
</Compile>
746+
<Compile Include="..\Renci.SshNet\Sftp\ISftpResponseFactory.cs">
747+
<Link>Sftp\ISftpResponseFactory.cs</Link>
748+
</Compile>
738749
<Compile Include="..\Renci.SshNet\Sftp\ISftpSession.cs">
739750
<Link>Sftp\ISftpSession.cs</Link>
740751
</Compile>
@@ -852,6 +863,9 @@
852863
<Compile Include="..\Renci.SshNet\Sftp\Responses\SftpVersionResponse.cs">
853864
<Link>Sftp\Responses\SftpVersionResponse.cs</Link>
854865
</Compile>
866+
<Compile Include="..\Renci.SshNet\Sftp\SftpCloseAsyncResult.cs">
867+
<Link>Sftp\SftpCloseAsyncResult.cs</Link>
868+
</Compile>
855869
<Compile Include="..\Renci.SshNet\Sftp\SftpDownloadAsyncResult.cs">
856870
<Link>Sftp\SftpDownloadAsyncResult.cs</Link>
857871
</Compile>
@@ -861,6 +875,9 @@
861875
<Compile Include="..\Renci.SshNet\Sftp\SftpFileAttributes.cs">
862876
<Link>Sftp\SftpFileAttributes.cs</Link>
863877
</Compile>
878+
<Compile Include="..\Renci.SshNet\Sftp\SftpFileReader.cs">
879+
<Link>Sftp\SftpFileReader.cs</Link>
880+
</Compile>
864881
<Compile Include="..\Renci.SshNet\Sftp\SftpFileStream.cs">
865882
<Link>Sftp\SftpFileStream.cs</Link>
866883
</Compile>
@@ -876,9 +893,24 @@
876893
<Compile Include="..\Renci.SshNet\Sftp\SftpMessageTypes.cs">
877894
<Link>Sftp\SftpMessageTypes.cs</Link>
878895
</Compile>
896+
<Compile Include="..\Renci.SshNet\Sftp\SftpOpenAsyncResult.cs">
897+
<Link>Sftp\SftpOpenAsyncResult.cs</Link>
898+
</Compile>
899+
<Compile Include="..\Renci.SshNet\Sftp\SftpReadAsyncResult.cs">
900+
<Link>Sftp\SftpReadAsyncResult.cs</Link>
901+
</Compile>
902+
<Compile Include="..\Renci.SshNet\Sftp\SftpRealPathAsyncResult.cs">
903+
<Link>Sftp\SftpRealPathAsyncResult.cs</Link>
904+
</Compile>
905+
<Compile Include="..\Renci.SshNet\Sftp\SftpResponseFactory.cs">
906+
<Link>Sftp\SftpResponseFactory.cs</Link>
907+
</Compile>
879908
<Compile Include="..\Renci.SshNet\Sftp\SftpSession.cs">
880909
<Link>Sftp\SftpSession.cs</Link>
881910
</Compile>
911+
<Compile Include="..\Renci.SshNet\Sftp\SFtpStatAsyncResult.cs">
912+
<Link>Sftp\SFtpStatAsyncResult.cs</Link>
913+
</Compile>
882914
<Compile Include="..\Renci.SshNet\Sftp\SftpSynchronizeDirectoriesAsyncResult.cs">
883915
<Link>Sftp\SftpSynchronizeDirectoriesAsyncResult.cs</Link>
884916
</Compile>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
2+
<PropertyGroup>
3+
<AssemblyTitle>SSH.NET</AssemblyTitle>
4+
<TargetFramework>netstandard1.3</TargetFramework>
5+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
6+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
7+
<AssemblyName>Renci.SshNet</AssemblyName>
8+
<AssemblyOriginatorKeyFile>../Renci.SshNet.snk</AssemblyOriginatorKeyFile>
9+
<LangVersion>5</LangVersion>
10+
<SignAssembly>true</SignAssembly>
11+
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
12+
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
13+
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
14+
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
15+
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
16+
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
17+
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
18+
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
19+
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
20+
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
21+
</PropertyGroup>
22+
<ItemGroup>
23+
<Compile Include="..\Renci.SshNet\**\*.cs" Exclude="..\Renci.SshNet\Properties\AssemblyInfo.cs">
24+
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
25+
</Compile>
26+
</ItemGroup>
27+
<ItemGroup>
28+
<PackageReference Include="NETStandard.Library">
29+
<Version>1.6.0</Version>
30+
</PackageReference>
31+
</ItemGroup>
32+
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
33+
<PackageReference Include="Microsoft.CSharp">
34+
<Version>4.0.1</Version>
35+
</PackageReference>
36+
<PackageReference Include="SshNet.Security.Cryptography">
37+
<Version>[1.2.0]</Version>
38+
</PackageReference>
39+
<PackageReference Include="System.Diagnostics.Debug">
40+
<Version>4.0.11</Version>
41+
</PackageReference>
42+
<PackageReference Include="System.Diagnostics.Tools">
43+
<Version>4.0.1</Version>
44+
</PackageReference>
45+
<PackageReference Include="System.Diagnostics.TraceSource">
46+
<Version>4.0.0</Version>
47+
</PackageReference>
48+
<PackageReference Include="System.Globalization">
49+
<Version>4.0.11</Version>
50+
</PackageReference>
51+
<PackageReference Include="System.IO">
52+
<Version>4.1.0</Version>
53+
</PackageReference>
54+
<PackageReference Include="System.IO.FileSystem">
55+
<Version>4.0.1</Version>
56+
</PackageReference>
57+
<PackageReference Include="System.IO.FileSystem.Primitives">
58+
<Version>4.0.1</Version>
59+
</PackageReference>
60+
<PackageReference Include="System.Linq">
61+
<Version>4.1.0</Version>
62+
</PackageReference>
63+
<PackageReference Include="System.Net.NameResolution">
64+
<Version>4.0.0</Version>
65+
</PackageReference>
66+
<PackageReference Include="System.Net.Sockets">
67+
<Version>4.1.0</Version>
68+
</PackageReference>
69+
<PackageReference Include="System.Reflection.Extensions">
70+
<Version>4.0.1</Version>
71+
</PackageReference>
72+
<PackageReference Include="System.Runtime.Extensions">
73+
<Version>4.1.0</Version>
74+
</PackageReference>
75+
<PackageReference Include="System.Security.Cryptography.Algorithms">
76+
<Version>4.2.0</Version>
77+
</PackageReference>
78+
<PackageReference Include="System.Text.RegularExpressions">
79+
<Version>4.1.0</Version>
80+
</PackageReference>
81+
<PackageReference Include="System.Threading">
82+
<Version>4.0.11</Version>
83+
</PackageReference>
84+
<PackageReference Include="System.Threading.Thread">
85+
<Version>4.0.0</Version>
86+
</PackageReference>
87+
<PackageReference Include="System.Threading.ThreadPool">
88+
<Version>4.0.10</Version>
89+
</PackageReference>
90+
<PackageReference Include="System.Threading.Timer">
91+
<Version>4.0.1</Version>
92+
</PackageReference>
93+
<PackageReference Include="System.Xml.XmlDocument">
94+
<Version>4.0.1</Version>
95+
</PackageReference>
96+
<PackageReference Include="System.Xml.XPath.XmlDocument">
97+
<Version>4.0.1</Version>
98+
</PackageReference>
99+
</ItemGroup>
100+
<ItemGroup>
101+
<Compile Update="..\Renci.SshNet\Sftp\ISftpMessageFactory.cs" Link="Sftp\ISftpResponseFactory.cs" />
102+
<Compile Update="..\Renci.SshNet\Sftp\SftpMessageFactory.cs" Link="Sftp\SftpResponseFactory.cs" />
103+
</ItemGroup>
104+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
105+
<DefineConstants>FEATURE_ENCODING_ASCII;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_DIRECTORYINFO_ENUMERATEFILES;FEATURE_MEMORYSTREAM_TRYGETBUFFER;FEATURE_REFLECTION_TYPEINFO;FEATURE_RNG_CREATE;FEATURE_SOCKET_TAP;FEATURE_SOCKET_EAP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_SETSOCKETOPTION;FEATURE_SOCKET_SELECT;FEATURE_SOCKET_POLL;FEATURE_DNS_TAP;FEATURE_STREAM_TAP;FEATURE_THREAD_COUNTDOWNEVENT;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1_CREATE;FEATURE_HASH_SHA256_CREATE;FEATURE_HASH_SHA384_CREATE;FEATURE_HASH_SHA512_CREATE;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512</DefineConstants>
106+
</PropertyGroup>
107+
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
108+
<DebugType>portable</DebugType>
109+
</PropertyGroup>
110+
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
111+
<DebugType>none</DebugType>
112+
</PropertyGroup>
113+
</Project>

0 commit comments

Comments
 (0)