Skip to content

Commit dc6384d

Browse files
committed
Merge pull request #198 from sharwell/fix-171
Add .NET 3.5 Support
2 parents 82c22d4 + b7909ec commit dc6384d

39 files changed

Lines changed: 24046 additions & 58 deletions
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
3+
<PropertyGroup>
4+
<!-- The configuration and platform will be used to determine which
5+
assemblies to include from solution and project documentation
6+
sources -->
7+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
9+
<SchemaVersion>2.0</SchemaVersion>
10+
<ProjectGuid>{60b1668c-4331-4e3d-86f6-954ffce0cd36}</ProjectGuid>
11+
<SHFBSchemaVersion>1.9.5.0</SHFBSchemaVersion>
12+
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual
13+
Studio adds them anyway -->
14+
<AssemblyName>Documentation</AssemblyName>
15+
<RootNamespace>Documentation</RootNamespace>
16+
<Name>Documentation.v3.5</Name>
17+
<!-- SHFB properties -->
18+
<FrameworkVersion>.NET Framework 3.5</FrameworkVersion>
19+
<OutputPath>..\..\docs\html\v3.5</OutputPath>
20+
<HtmlHelpName>API Reference Documentation</HtmlHelpName>
21+
<Language>en-US</Language>
22+
<DocumentationSources>
23+
<DocumentationSource sourceFile="..\corelib\corelib.v3.5.csproj" xmlns="" subFolders="true" />
24+
</DocumentationSources>
25+
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
26+
<HelpFileFormat>HtmlHelp1, MSHelpViewer, Website</HelpFileFormat>
27+
<IndentHtml>True</IndentHtml>
28+
<KeepLogFile>True</KeepLogFile>
29+
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
30+
<CppCommentsFixup>False</CppCommentsFixup>
31+
<CleanIntermediates>True</CleanIntermediates>
32+
<SyntaxFilters>CSharp, VisualBasic, CPlusPlus, FSharp</SyntaxFilters>
33+
<SdkLinkTarget>Blank</SdkLinkTarget>
34+
<RootNamespaceContainer>True</RootNamespaceContainer>
35+
<PresentationStyle>VS2010</PresentationStyle>
36+
<Preliminary>True</Preliminary>
37+
<NamingMethod>MemberName</NamingMethod>
38+
<HelpTitle>openstack.net API Reference Documentation</HelpTitle>
39+
<ContentPlacement>AboveNamespaces</ContentPlacement>
40+
<RootNamespaceTitle>API Reference</RootNamespaceTitle>
41+
<WebsiteSdkLinkType>Msdn</WebsiteSdkLinkType>
42+
<HtmlSdkLinkType>Msdn</HtmlSdkLinkType>
43+
<IncludeFavorites>True</IncludeFavorites>
44+
<BinaryTOC>True</BinaryTOC>
45+
<VisibleItems>Attributes, ExplicitInterfaceImplementations, InheritedMembers, InheritedFrameworkMembers, Protected, ProtectedInternalAsProtected, SealedProtected</VisibleItems>
46+
<FeedbackEMailAddress>openstack.net%40lists.rackspace.com</FeedbackEMailAddress>
47+
<CopyrightText>
48+
</CopyrightText>
49+
<CopyrightHref>
50+
</CopyrightHref>
51+
<TransformComponentArguments>
52+
<Argument Key="logoFile" Value="" />
53+
<Argument Key="logoHeight" Value="" />
54+
<Argument Key="logoWidth" Value="" />
55+
<Argument Key="logoAltText" Value="" />
56+
<Argument Key="logoPlacement" Value="left" />
57+
<Argument Key="logoAlignment" Value="left" />
58+
</TransformComponentArguments>
59+
<ComponentConfigurations>
60+
<ComponentConfig id="IntelliSense Component" enabled="True" xmlns="">
61+
<component id="IntelliSense Component" type="Microsoft.Ddue.Tools.IntelliSenseComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
62+
<output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}\..\..\Api\v3.5" />
63+
</component>
64+
</ComponentConfig>
65+
</ComponentConfigurations>
66+
<CatalogName>VisualStudio11</CatalogName>
67+
<TocParentId>-1</TocParentId>
68+
<TocParentVersion>100</TocParentVersion>
69+
<TopicVersion>100</TopicVersion>
70+
<TocOrder>-1</TocOrder>
71+
<ProductTitle>openstack.net SDK</ProductTitle>
72+
<VendorName>openstacknet</VendorName>
73+
<MSHelpViewerSdkLinkType>Id</MSHelpViewerSdkLinkType>
74+
<CatalogVersion>100</CatalogVersion>
75+
<CatalogProductId>VS</CatalogProductId>
76+
</PropertyGroup>
77+
<!-- There are no properties for these groups. AnyCPU needs to appear in
78+
order for Visual Studio to perform the build. The others are optional
79+
common platform types that may appear. -->
80+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
81+
</PropertyGroup>
82+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
83+
</PropertyGroup>
84+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
85+
</PropertyGroup>
86+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
87+
</PropertyGroup>
88+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
89+
</PropertyGroup>
90+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
91+
</PropertyGroup>
92+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
93+
</PropertyGroup>
94+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
95+
</PropertyGroup>
96+
<ItemGroup>
97+
<ProjectReference Include="..\corelib\corelib.v3.5.csproj">
98+
<Name>corelib.v3.5</Name>
99+
<Project>{e49d9dc3-79d5-4c5e-8c38-fd5060b4e318}</Project>
100+
<Private>True</Private>
101+
</ProjectReference>
102+
</ItemGroup>
103+
<ItemGroup>
104+
<None Include="Content\License.aml" />
105+
<None Include="Content\MSHelpViewerRoot.aml" />
106+
<None Include="Content\Welcome.aml" />
107+
</ItemGroup>
108+
<ItemGroup>
109+
<ContentLayout Include="OpenStackSDK.content" />
110+
</ItemGroup>
111+
<ItemGroup>
112+
<Folder Include="Content" />
113+
</ItemGroup>
114+
<!-- Import the SHFB build targets -->
115+
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
116+
</Project>

src/Documentation/Documentation.shfbproj renamed to src/Documentation/Documentation.v4.0.shfbproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
Studio adds them anyway -->
1414
<AssemblyName>Documentation</AssemblyName>
1515
<RootNamespace>Documentation</RootNamespace>
16-
<Name>Documentation</Name>
16+
<Name>Documentation.v4.0</Name>
1717
<!-- SHFB properties -->
1818
<FrameworkVersion>.NET Framework 4.0</FrameworkVersion>
19-
<OutputPath>..\..\docs\html\</OutputPath>
19+
<OutputPath>..\..\docs\html\v4.0</OutputPath>
2020
<HtmlHelpName>API Reference Documentation</HtmlHelpName>
2121
<Language>en-US</Language>
2222
<DocumentationSources>
23-
<DocumentationSource sourceFile="..\corelib\corelib.csproj" xmlns="" subFolders="true" />
23+
<DocumentationSource sourceFile="..\corelib\corelib.v4.0.csproj" xmlns="" subFolders="true" />
2424
</DocumentationSources>
2525
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
2626
<HelpFileFormat>HtmlHelp1, MSHelpViewer, Website</HelpFileFormat>
@@ -59,7 +59,7 @@
5959
<ComponentConfigurations>
6060
<ComponentConfig id="IntelliSense Component" enabled="True" xmlns="">
6161
<component id="IntelliSense Component" type="Microsoft.Ddue.Tools.IntelliSenseComponent" assembly="{@SandcastlePath}ProductionTools\BuildComponents.dll">
62-
<output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}\..\Api" />
62+
<output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}\..\..\Api\v4.0" />
6363
</component>
6464
</ComponentConfig>
6565
</ComponentConfigurations>
@@ -94,8 +94,8 @@
9494
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
9595
</PropertyGroup>
9696
<ItemGroup>
97-
<ProjectReference Include="..\corelib\corelib.csproj">
98-
<Name>corelib</Name>
97+
<ProjectReference Include="..\corelib\corelib.v4.0.csproj">
98+
<Name>corelib.v4.0</Name>
9999
<Project>{7dba11eb-dba7-4d3a-8d42-b5312e74b9c0}</Project>
100100
<Private>True</Private>
101101
</ProjectReference>

src/console/console.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
<SpecificVersion>False</SpecificVersion>
4040
<HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net40\Newtonsoft.Json.dll</HintPath>
4141
</Reference>
42-
<Reference Include="SimpleRESTServices, Version=1.1.3.0, Culture=neutral, processorArchitecture=MSIL">
42+
<Reference Include="SimpleRESTServices, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
4343
<SpecificVersion>False</SpecificVersion>
44-
<HintPath>..\packages\SimpleRESTServices.1.1.3.0\lib\net40\SimpleRESTServices.dll</HintPath>
44+
<HintPath>..\packages\SimpleRESTServices.1.2.0.0\lib\net40\SimpleRESTServices.dll</HintPath>
4545
</Reference>
4646
<Reference Include="System" />
4747
<Reference Include="System.Core" />
@@ -65,9 +65,9 @@
6565
<None Include="packages.config" />
6666
</ItemGroup>
6767
<ItemGroup>
68-
<ProjectReference Include="..\corelib\corelib.csproj">
68+
<ProjectReference Include="..\corelib\corelib.v4.0.csproj">
6969
<Project>{7DBA11EB-DBA7-4D3A-8D42-B5312E74B9C0}</Project>
70-
<Name>corelib</Name>
70+
<Name>corelib.v4.0</Name>
7171
</ProjectReference>
7272
</ItemGroup>
7373
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

src/console/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
33
<package id="Newtonsoft.Json" version="5.0.6" targetFramework="net40" />
4-
<package id="SimpleRESTServices" version="1.1.3.0" targetFramework="net40" />
4+
<package id="SimpleRESTServices" version="1.2.0.0" targetFramework="net40" />
55
</packages>

src/corelib/Core/Compat/Funcs.cs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
//
2+
// System.Func.cs
3+
//
4+
// Authors:
5+
// Alejandro Serrano "Serras" (trupill@yahoo.es)
6+
// Marek Safar (marek.safar@gmail.com)
7+
//
8+
9+
// Permission is hereby granted, free of charge, to any person obtaining
10+
// a copy of this software and associated documentation files (the
11+
// "Software"), to deal in the Software without restriction, including
12+
// without limitation the rights to use, copy, modify, merge, publish,
13+
// distribute, sublicense, and/or sell copies of the Software, and to
14+
// permit persons to whom the Software is furnished to do so, subject to
15+
// the following conditions:
16+
//
17+
// The above copyright notice and this permission notice shall be
18+
// included in all copies or substantial portions of the Software.
19+
//
20+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+
// MERCHANTABILITY, FITNESS FOR TArg PARTICULAR PURPOSE AND
23+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26+
//
27+
28+
using System.Runtime.CompilerServices;
29+
30+
namespace net.openstack.Core {
31+
32+
#if NET35
33+
/// <summary>
34+
/// Encapsulates a method that has six parameters and returns a value of the type specified by the <typeparamref name="TResult"/> parameter.
35+
/// </summary>
36+
/// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
37+
/// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
38+
/// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
39+
/// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
40+
/// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
41+
/// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
42+
/// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
43+
/// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
44+
/// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
45+
/// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
46+
/// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
47+
/// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
48+
/// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
49+
/// <returns>The return value of the method that this delegate encapsulates.</returns>
50+
public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
51+
#endif
52+
53+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#if NET35
2+
3+
namespace System.Runtime.Serialization
4+
{
5+
/// <summary>
6+
/// For internal compatibility use only.
7+
/// </summary>
8+
internal interface ISafeSerializationData
9+
{
10+
/// <summary>
11+
/// For internal compatibility use only.
12+
/// </summary>
13+
void CompleteDeserialization(object deserialized);
14+
}
15+
}
16+
17+
#endif
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
//
2+
// IStructuralComparable.cs
3+
//
4+
// Authors:
5+
// Zoltan Varga (vargaz@gmail.com)
6+
//
7+
// Copyright (C) 2009 Novell
8+
//
9+
// Permission is hereby granted, free of charge, to any person obtaining
10+
// a copy of this software and associated documentation files (the
11+
// "Software"), to deal in the Software without restriction, including
12+
// without limitation the rights to use, copy, modify, merge, publish,
13+
// distribute, sublicense, and/or sell copies of the Software, and to
14+
// permit persons to whom the Software is furnished to do so, subject to
15+
// the following conditions:
16+
//
17+
// The above copyright notice and this permission notice shall be
18+
// included in all copies or substantial portions of the Software.
19+
//
20+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27+
//
28+
29+
#if NET35
30+
31+
using System;
32+
using System.Collections;
33+
34+
namespace net.openstack.Core
35+
{
36+
/// <summary>
37+
/// Supports the structural comparison of collection objects.
38+
/// </summary>
39+
public interface IStructuralComparable {
40+
/// <summary>
41+
/// Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order.
42+
/// </summary>
43+
/// <param name="other">The object to compare with the current instance.</param>
44+
/// <param name="comparer">An object that compares members of the current collection object with the corresponding members of <paramref name="other"/>.</param>
45+
/// <returns>
46+
/// An integer that indicates the relationship of the current collection object to other, as shown in the following table.
47+
///
48+
/// <list type="table">
49+
/// <listheader>
50+
/// <term>Return value</term>
51+
/// <term>Description</term>
52+
/// </listheader>
53+
/// <item>
54+
/// <term>-1</term>
55+
/// <term>The current instance precedes <paramref name="other"/>.</term>
56+
/// </item>
57+
/// <item>
58+
/// <term>0</term>
59+
/// <term>The current instance and <paramref name="other"/> are equal.</term>
60+
/// </item>
61+
/// <item>
62+
/// <term>1</term>
63+
/// <term>The current instance follows <paramref name="other"/>.</term>
64+
/// </item>
65+
/// </list>
66+
/// </returns>
67+
/// <exception cref="ArgumentException">This instance and <paramref name="other"/> are not the same type.</exception>
68+
int CompareTo (object other, IComparer comparer);
69+
}
70+
}
71+
72+
#endif
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
//
2+
// IStructuralEquatable.cs
3+
//
4+
// Authors:
5+
// Zoltan Varga (vargaz@gmail.com)
6+
//
7+
// Copyright (C) 2009 Novell
8+
//
9+
// Permission is hereby granted, free of charge, to any person obtaining
10+
// a copy of this software and associated documentation files (the
11+
// "Software"), to deal in the Software without restriction, including
12+
// without limitation the rights to use, copy, modify, merge, publish,
13+
// distribute, sublicense, and/or sell copies of the Software, and to
14+
// permit persons to whom the Software is furnished to do so, subject to
15+
// the following conditions:
16+
//
17+
// The above copyright notice and this permission notice shall be
18+
// included in all copies or substantial portions of the Software.
19+
//
20+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27+
//
28+
29+
#if NET35
30+
31+
using System;
32+
using System.Collections;
33+
34+
namespace net.openstack.Core
35+
{
36+
/// <summary>
37+
/// Defines methods to support the comparison of objects for structural equality.
38+
/// </summary>
39+
public interface IStructuralEquatable {
40+
/// <summary>
41+
/// Determines whether an object is structurally equal to the current instance.
42+
/// </summary>
43+
/// <param name="other">The object to compare with the current instance.</param>
44+
/// <param name="comparer">An object that determines whether the current instance and <paramref name="other"/> are equal.</param>
45+
/// <returns><c>true</c> if the two objects are equal; otherwise, <c>false</c>.</returns>
46+
bool Equals (object other, IEqualityComparer comparer);
47+
48+
/// <summary>
49+
/// Returns a hash code for the current instance.
50+
/// </summary>
51+
/// <param name="comparer">An object that computes the hash code of the current object.</param>
52+
/// <returns>The hash code for the current instance.</returns>
53+
int GetHashCode (IEqualityComparer comparer);
54+
}
55+
}
56+
57+
#endif

0 commit comments

Comments
 (0)