[2.0] Target netstandard 2.0 (#24)

- Switch to SDK-style projects.
- Target framework netcore20 for nuget libraries and net50 for tests and sdsutil 
- Remove code that is incompatible with the new frameworks. The biggest omission is connecting to remote datasets with .NET Remoting. `DataSetReplicator` goes into a separate project that targets net471 and is not included in NuGet.
This commit is contained in:
Vassily Lyutsarev
2021-01-18 18:18:14 +00:00
committed by GitHub
parent 31bedfb9af
commit 5550ea1c63
33 changed files with 110 additions and 837 deletions

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>

Binary file not shown.

View File

@@ -1,144 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
<!-- Enable the restore command to run before builds -->
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
<!-- Property that enables building a package from a project -->
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
<!-- Determines if package restore consent is required to restore packages -->
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
<!-- Download NuGet.exe if it does not already exist -->
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageSources)' == '' ">
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
<!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
<!--
<PackageSource Include="https://www.nuget.org/api/v2/" />
<PackageSource Include="https://my-nuget-source/nuget/" />
-->
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
<!-- Windows specific commands -->
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup>
<PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
<PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
</PropertyGroup>
<PropertyGroup>
<PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
<PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
</PropertyGroup>
<PropertyGroup>
<!-- NuGet command -->
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
<NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
<PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
<PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>
<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
<!--
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
This effectively acts as a lock that makes sure that the download operation will only happen once and all
parallel builds will have to wait for it to complete.
-->
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
</Target>
<Target Name="_DownloadNuGet">
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
</Target>
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />
<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Net" />
<Using Namespace="Microsoft.Build.Framework" />
<Using Namespace="Microsoft.Build.Utilities" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
OutputFilename = Path.GetFullPath(OutputFilename);
Log.LogMessage("Downloading latest version of NuGet.exe...");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
return true;
}
catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
</Project>

View File

@@ -1,8 +0,0 @@
// Copyright © Microsoft Corporation, All Rights Reserved.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("1.4.4.0")]
[assembly: AssemblyFileVersionAttribute("1.4.4.0")]
[assembly: AssemblyCopyrightAttribute("(c) Microsoft Corporation. All rights reserved")]

6
Common/Version.proj Normal file
View File

@@ -0,0 +1,6 @@
<Project>
<PropertyGroup>
<Version>2.0</Version>
<Copyright>(c) Microsoft Corporation. All rights reserved</Copyright>
</PropertyGroup>
</Project>

View File

@@ -47,7 +47,6 @@
<Compile Include="PrioritySemaphore.cs" />
<Compile Include="RestApiNamings.cs" />
<Compile Include="RestApiUtilities.cs" />
<Compile Include="..\..\Common\Version.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ScientificDataSet\ScientificDataSet.csproj">

View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Microsoft.Research.Science.Data.Climate.Common
{

View File

@@ -76,7 +76,6 @@
<Compile Include="RestProcessingClient.cs" />
<Compile Include="ServiceLocationConfSection.cs" />
<Compile Include="WcfProcessingClient.cs" />
<Compile Include="..\..\Common\Version.cs" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">

View File

@@ -1,78 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{7264963B-9B4F-4257-B79E-FE48E032A190}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NetCDFInterop</RootNamespace>
<AssemblyName>NetCDFInterop</AssemblyName>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFramework>netstandard2.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<Import Project="../Common/Version.proj" />
<ItemGroup>
<Reference Include="DynamicInterop, Version=0.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DynamicInterop.0.9.1\lib\netstandard2.0\DynamicInterop.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<PackageReference Include="dynamicinterop" Version="0.9.1" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Common\Version.cs">
<Link>Version.cs</Link>
</Compile>
<Compile Include="CreateMode.cs" />
<Compile Include="NcConst.cs" />
<Compile Include="NcType.cs" />
<Compile Include="NetCDF.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ResultCode.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>

View File

@@ -1,22 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NetCDFInterop")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NetCDFInterop")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("9faa2caf-3ee6-44b1-8941-c38d4220c1c5")]

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="DynamicInterop" version="0.9.1" targetFramework="net471" />
</packages>

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<Name>SDSLite</Name>
<ProjectGuid>{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}</ProjectGuid>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<OutputType>Library</OutputType>
<BuildPackage>true</BuildPackage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Include="package.nuspec">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj">
<Project>{24d8613c-e1e9-4d7b-abaa-051eed4e5dbc}</Project>
<Name>ScientificDataSet</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
</Project>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>SDSLite</id>
<version>1.4.4</version>
<title>Scientific DataSet Lite</title>
<authors>Microsoft Research,Computational Science</authors>
<owners>Microsoft Research,Computational Science</owners>
<description>
This is a cross platform library for manipulating netCDF, CSV and TSV files.
</description>
<releaseNotes>
</releaseNotes>
<summary>
This is a cross platform library for manipulating netCDF, CSV and TSV files.
</summary>
<language>en-US</language>
<projectUrl>http://research.microsoft.com/en-us/projects/sds</projectUrl>
<iconUrl>https://nuget.org/Content/Images/packageDefaultIcon-50x50.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>https://github.com/predictionmachines/SDSlite/blob/master/Licence.txt</licenseUrl>
<copyright>Copyright (C) 2015-2020 Microsoft</copyright>
<dependencies>
<dependency id="DynamicInterop" version="0.9.1" />
</dependencies>
<references></references>
<tags></tags>
</metadata>
<files>
<file src="$OutDir$NetCDFInterop.dll" target="lib\net471" />
<file src="$OutDir$ScientificDataSet.dll" target="lib\net471" />
<file src="$OutDir$ScientificDataSet.xml" target="lib\net471" />
</files>
</package>

View File

@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SdsLiteTests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SdsLiteTests")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("397c84df-6f7f-4bf1-9bc8-c32e9fa376ba")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -1,81 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\NUnitTestAdapter.2.3.0\build\NUnitTestAdapter.props" Condition="Exists('..\packages\NUnitTestAdapter.2.3.0\build\NUnitTestAdapter.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C6919B51-ED1A-455E-89E0-F295ECFC722B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SdsLiteTests</RootNamespace>
<AssemblyName>SdsLiteTests</AssemblyName>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFramework>net5.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<PackageReference Include="NUnit" Version="3.12.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="CsvTests.cs" />
<Compile Include="NetCDFTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj">
<Project>{24d8613c-e1e9-4d7b-abaa-051eed4e5dbc}</Project>
<Name>ScientificDataSet</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Error Condition="!Exists('..\packages\NUnitTestAdapter.2.3.0\build\NUnitTestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnitTestAdapter.2.3.0\build\NUnitTestAdapter.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="2.6.4" targetFramework="net45" />
<package id="NUnitTestAdapter" version="2.3.0" targetFramework="net45" />
</packages>

View File

@@ -5,33 +5,27 @@ VisualStudioVersion = 16.0.30517.126
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FetchClimate1", "FetchClimate1", "{540EC0ED-4A07-4AC9-A68E-E06BDD4FF89A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetCDFInterop", "NetCDFInterop\NetCDFInterop.csproj", "{7264963B-9B4F-4257-B79E-FE48E032A190}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCDFInterop", "NetCDFInterop\NetCDFInterop.csproj", "{7264963B-9B4F-4257-B79E-FE48E032A190}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScientificDataSet", "ScientificDataSet\ScientificDataSet.csproj", "{24D8613C-E1E9-4D7B-ABAA-051EED4E5DBC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScientificDataSet", "ScientificDataSet\ScientificDataSet.csproj", "{24D8613C-E1E9-4D7B-ABAA-051EED4E5DBC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sdsutil", "sdsutil\sdsutil.csproj", "{0EAC3EBD-DC4D-4854-8C70-E096C49F8D47}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "sdsutil", "sdsutil\sdsutil.csproj", "{0EAC3EBD-DC4D-4854-8C70-E096C49F8D47}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDSLiteTests", "SDSLiteTests\SDSLiteTests.csproj", "{C6919B51-ED1A-455E-89E0-F295ECFC722B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SDSLiteTests", "SDSLiteTests\SDSLiteTests.csproj", "{C6919B51-ED1A-455E-89E0-F295ECFC722B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClimateService.Common", "FetchClimate1\ClimateService.Common\ClimateService.Common.csproj", "{87558098-AEAB-46A0-8BEF-D838630AC90E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClimateService.Client", "FetchClimate1\ClimateServiceClient\ClimateService.Client.csproj", "{B02F58BB-072E-4DC7-AAAB-674C14E01E9D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDSLite", "SDSLite\SDSLite.csproj", "{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1FC31A69-438C-47C0-A833-73226ADBAA5E}"
ProjectSection(SolutionItems) = preProject
azure-pipelines.yml = azure-pipelines.yml
.github\workflows\build-test.yml = .github\workflows\build-test.yml
Licence.txt = Licence.txt
README.md = README.md
Common\Version.proj = Common\Version.proj
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{031C2DF0-22DB-4D59-B69B-B5EA0824C752}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
.nuget\NuGet.exe = .nuget\NuGet.exe
.nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScientificDataSet.DataSetReplicator", "ScientificDataSet.DataSetReplicator\ScientificDataSet.DataSetReplicator.csproj", "{CC740DCD-9607-45C6-812C-DE797DF4A50B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -63,10 +57,10 @@ Global
{B02F58BB-072E-4DC7-AAAB-674C14E01E9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B02F58BB-072E-4DC7-AAAB-674C14E01E9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B02F58BB-072E-4DC7-AAAB-674C14E01E9D}.Release|Any CPU.Build.0 = Release|Any CPU
{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{71A8A1FB-1E6F-43BE-B531-3E377CFA90C4}.Release|Any CPU.Build.0 = Release|Any CPU
{CC740DCD-9607-45C6-812C-DE797DF4A50B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC740DCD-9607-45C6-812C-DE797DF4A50B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC740DCD-9607-45C6-812C-DE797DF4A50B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC740DCD-9607-45C6-812C-DE797DF4A50B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net471</TargetFramework>
</PropertyGroup>
<Import Project="../Common/Version.proj" />
<ItemGroup>
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="WindowsBase" />
</ItemGroup>
</Project>

View File

@@ -292,6 +292,7 @@ namespace Microsoft.Research.Science.Data
/// <summary>
/// Shares a copy of the dataset from a given <paramref name="uri"/>.
/// </summary>
/// <remarks>
/// In this SDSlite implementation the method returns a memory copy of existing dataset.
/// </remarks>
/// <seealso cref="Open(string)"/>

View File

@@ -1146,10 +1146,7 @@ namespace Microsoft.Research.Science.Data.Factory
}
catch (Exception ex)
{
if (ex is ConfigurationErrorsException)
Trace.WriteLine("Registering assembly failed: " + ex.Message);
else
Trace.WriteLineIf(dataSetTraceLevel == TraceLevel.Error, "Registering assembly failed: " + ex.Message);
Trace.WriteLineIf(dataSetTraceLevel == TraceLevel.Error, "Registering assembly failed: " + ex.Message);
}
return n;
}

View File

@@ -11,7 +11,7 @@ namespace Microsoft.Research.Science.Data
/// some additional capabilities.
/// </summary>
/// <remarks>
/// <para>The <paramref name="hiddenEntries"/> and <paramref name="readonlyEntries"/> parameters
/// <para>The <see cref="hiddenEntries"/> and <see cref="readonlyEntries"/> parameters
/// allow to make some metadata entries indpendent from the metadata of the underlying variable.
/// These parameters can be null and this will be considered as an empty collection.</para>
/// <para>Two entries are always independent from the underlying metadata. These are

View File

@@ -15,6 +15,12 @@ namespace Microsoft.Research.Science.Data.Utilities
/// </summary>
public static class DataSetCloning
{
/// <summary>
/// Allows to show progress update.
/// </summary>
/// <param name="percent"></param>
/// <param name="message"></param>
/// <returns></returns>
public delegate bool ProgressUpdater(double percent, string message);

View File

@@ -1,10 +1,7 @@
// Copyright © Microsoft Corporation, All Rights Reserved.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
namespace Microsoft.Research.Science.Data

View File

@@ -1,44 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Microsoft.Research.Science.Data")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Microsoft.Research.Science.Data")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("c6929469-967a-4a67-9db0-650d2d5cd5d8")]
[assembly:InternalsVisibleTo("ChunkedArray-TestProj, PublicKey=00240000048000009400000006020000"+
"00240000525341310004000001000100"+
"7BA330DE84E9E25097FEAF46B438F0C5"+
"79948F64BD6487A261ADE9977ED4A0CE"+
"206B73E24E665A86B22DADF534415609"+
"F808B748D622175C647648FF50CDB0CF"+
"242A02075DBAAD7BD8D0BAE09BDC1DD0"+
"5A3292E28579B8C9DFBC4FE6F721EC09"+
"E1A70322904161A943800254259EF8CE"+
"0DECB97B966B5A6C937B9C8462C9FABA")]
[assembly: InternalsVisibleTo("TestSDS, PublicKey=00240000048000009400000006020000" +
"00240000525341310004000001000100" +
"7BA330DE84E9E25097FEAF46B438F0C5" +
"79948F64BD6487A261ADE9977ED4A0CE" +
"206B73E24E665A86B22DADF534415609" +
"F808B748D622175C647648FF50CDB0CF" +
"242A02075DBAAD7BD8D0BAE09BDC1DD0" +
"5A3292E28579B8C9DFBC4FE6F721EC09" +
"E1A70322904161A943800254259EF8CE" +
"0DECB97B966B5A6C937B9C8462C9FABA")]

View File

@@ -1,175 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{24D8613C-E1E9-4D7B-ABAA-051EED4E5DBC}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ScientificDataSet</RootNamespace>
<AssemblyName>ScientificDataSet</AssemblyName>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\IlMerging.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<TargetFramework>netstandard2.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>bin\Debug\ScientificDataSet.xml</DocumentationFile>
<WarningLevel>3</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\IlMerging.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>bin\Release\ScientificDataSet.xml</DocumentationFile>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageId>SDSLite</PackageId>
<Description>A cross platform library for manipulating netCDF, CSV and TSV files.</Description>
<Company>Microsoft</Company>
<Authors>Microsoft Research, Computational Science group</Authors>
<PackageProjectUrl>http://research.microsoft.com/en-us/projects/sds</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup>
<Import Project="../Common/Version.proj" />
<ItemGroup>
<EmbeddedResource Include="Images\open.png" />
<ProjectReference Include="..\NetCDFInterop\NetCDFInterop.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Common\Version.cs">
<Link>Version.cs</Link>
</Compile>
<Compile Include="Core\ArrayWrapper.cs" />
<Compile Include="Core\AsyncRequests.cs" />
<Compile Include="Core\CollectionCombination.cs" />
<Compile Include="Core\CoordinateSystem.cs" />
<Compile Include="Core\CoordinateSystemCollection.cs" />
<Compile Include="Core\DataAccessVariable.cs" />
<Compile Include="Core\DataSet.cs" />
<Compile Include="Core\DataSet.MultipleDataRequest.cs" />
<Compile Include="Core\DataSetChangeset.cs" />
<Compile Include="Core\DataSetEvents.cs" />
<Compile Include="Core\DataSetLink.cs" />
<Compile Include="Core\Dimension.cs" />
<Compile Include="Core\DimensionList.cs" />
<Compile Include="Core\EmptyValue.cs" />
<Compile Include="Core\Exceptions\ConstraintsFailedException.cs" />
<Compile Include="Core\Exceptions\DataSetCreatingException.cs" />
<Compile Include="Core\Exceptions\DataSetException.cs" />
<Compile Include="Core\Exceptions\DistributedCommitFailedException.cs" />
<Compile Include="Core\Exceptions\Exceptions.cs" />
<Compile Include="Core\Exceptions\ResourceNotFoundException.cs" />
<Compile Include="Core\Factory\Attributes.cs" />
<Compile Include="Core\Factory\DataSetFactory.cs" />
<Compile Include="Core\Factory\DataSetUri.cs" />
<Compile Include="Core\IChunkSizesAdjustable.cs" />
<Compile Include="Core\IDependantVariable.cs" />
<Compile Include="Core\IndexResolver.cs" />
<Compile Include="Core\IndexTransformVariable.cs" />
<Compile Include="Core\Interpolation.cs" />
<Compile Include="Core\LambdaTransformVariable.cs" />
<Compile Include="Core\MetadataChanges.cs" />
<Compile Include="Core\MetadataContainerVariable.cs" />
<Compile Include="Core\MetadataDictionary.cs" />
<Compile Include="Core\OrderedArray1d.cs" />
<Compile Include="Core\Providers.cs" />
<Compile Include="Core\Range.cs" />
<Compile Include="Core\Rectangle.cs" />
<Compile Include="Core\RefVariable.cs" />
<Compile Include="Core\RefVariableMetadata.cs" />
<Compile Include="Core\ScaledVariable.cs" />
<Compile Include="Core\Schemas.cs" />
<Compile Include="Core\StriddenVariable.cs" />
<Compile Include="Core\TransformedVariable.cs" />
<Compile Include="Core\Types.cs" />
<Compile Include="Core\Utilities\DataSetCloning.cs" />
<Compile Include="Core\Variable.Reversibility.cs" />
<Compile Include="Core\Variables.cs" />
<Compile Include="Core\VariablesCollection.cs" />
<Compile Include="Imperative\DataSetExtensions.cs" />
<Compile Include="Imperative\DatasetExtensionsCS.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Providers\CSV\AbstractCsvVariables.cs" />
<Compile Include="Providers\CSV\CsvDataSet.cs" />
<Compile Include="Providers\CSV\CsvParsingFailedException.cs" />
<Compile Include="Providers\CSV\CsvUri.cs" />
<Compile Include="Providers\CSV\CsvVariables1d.cs" />
<Compile Include="Providers\CSV\CsvVariables2d.cs" />
<Compile Include="Providers\CSV\CsvVariablesMd.cs" />
<Compile Include="Providers\CSV\CsvVariablesScalar.cs" />
<Compile Include="Providers\Memory\MemoryDataSet.cs" />
<Compile Include="Providers\Memory\MemoryVariable.cs" />
<Compile Include="Providers\Memory\MemoryVariable1d.cs" />
<Compile Include="Providers\NetCDF\ChunkSizeSelector.cs" />
<Compile Include="Providers\NetCDF\NetCDFDataSet.cs" />
<Compile Include="Providers\NetCDF\NetCDFException.cs" />
<Compile Include="Providers\NetCDF\NetCDFGlobalMetadataVariable.cs" />
<Compile Include="Providers\NetCDF\NetCDFUri.cs" />
<Compile Include="Providers\NetCDF\NetCdfVariable.cs" />
<Compile Include="Utilities\ArrayHelper.cs" />
<Compile Include="Utilities\DataSetCommittedEventManager.cs" />
<Compile Include="Utilities\DataSetReplicator.cs" />
<Compile Include="Utilities\Enumerators.cs" />
<Compile Include="Utilities\GenericConventions.cs" />
<Compile Include="Utilities\GeoConventions.cs" />
<Compile Include="Utilities\IntBox.cs" />
<Compile Include="Utilities\MetadataExtensions.cs" />
<Compile Include="Utilities\Split2d.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml" />
<Reference Include="WindowsBase" />
<Reference Include="System.Configuration" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Resource Include="Utilities\Images\open.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NetCDFInterop\NetCDFInterop.csproj">
<Project>{7264963b-9b4f-4257-b79e-fe48e032a190}</Project>
<Name>NetCDFInterop</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>

View File

@@ -2,11 +2,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using Microsoft.Research.Science.Data.Imperative;
namespace Microsoft.Research.Science.Data.Utilities
{
@@ -167,7 +162,7 @@ namespace Microsoft.Research.Science.Data.Utilities
if (isValid)
{
double[] triplet = func(row);
if(!Double.IsNaN(triplet[0]) &&
if (!Double.IsNaN(triplet[0]) &&
!Double.IsNaN(triplet[1]) &&
!Double.IsNaN(triplet[2]))
yield return triplet;
@@ -178,6 +173,17 @@ namespace Microsoft.Research.Science.Data.Utilities
}
}
public struct Point
{
double X;
double Y;
public Point(double x, double y)
{
X = x;
Y = y;
}
}
public class MissingValueEnumeratorForDims : IEnumerable, IEnumerable<Point>
{
private Variable source;
@@ -198,7 +204,7 @@ namespace Microsoft.Research.Science.Data.Utilities
{
if (source == null) throw new ArgumentNullException("source");
if (source.Rank != dims.Length) throw new ArgumentException("Array's length != variable's rank");
this.dims = new int[source.Rank];
for (int i = 0; i < this.dims.Length; i++)
this.dims[i] = dims[i];

View File

@@ -1,41 +0,0 @@
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@0
- task: PowerShell@2
displayName: Download NetCDF
inputs:
workingDirectory: $(Build.BinariesDirectory)
targetType: 'inline'
script: |
Invoke-WebRequest $env:URL_NETCDF_WIN -OutFile netcdf.exe
7z x netcdf.exe bin/*
Write-Output "##vso[task.prependpath]$env:BUILD_BINARIESDIRECTORY\bin"
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'

View File

@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<!-- Customized bindings are listed below. All bindings are with extended quotas because
DataSet proxy generates very large messages -->
<bindings>
<!-- TCP bindings for data and control connections -->
<netTcpBinding>
<!-- TCP binding for control connection (message size increased for large schemas) -->
<binding name="sdsTcpControl" maxBufferSize="1024000" maxReceivedMessageSize="1024000">
<security mode="None"/>
</binding>
<!-- TCP binding for data connection (streamed mode)-->
<binding name="sdsTcpData" maxReceivedMessageSize="100000000" transferMode="Streamed">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1"/></startup></configuration>

View File

@@ -1,15 +1,13 @@
// Copyright © Microsoft Corporation, All Rights Reserved.
using Microsoft.Research.Science.Data;
using System;
using System.Collections;
using System.Linq;
using System.Text;
using Microsoft.Research.Science.Data;
using Microsoft.Research.Science.Data.Factory;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading;
using Range = Microsoft.Research.Science.Data.Range;
namespace sdsutil
{

View File

@@ -1,10 +0,0 @@
// Copyright © Microsoft Corporation, All Rights Reserved.
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("sds command-line utility")]
[assembly: AssemblyDescription("sds command-line utility to see and manipulate with Scientific DataSets.")]
[assembly: AssemblyCompany("Microsoft Research")]

View File

@@ -1,69 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0EAC3EBD-DC4D-4854-8C70-E096C49F8D47}</ProjectGuid>
<TargetFramework>net50</TargetFramework>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>sdsutil</RootNamespace>
<AssemblyName>sds</AssemblyName>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<OldToolsVersion>3.5</OldToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<OutputPath>bin\Debug</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<OutputPath>bin\Release</OutputPath>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<Import Project="../Common/Version.proj" />
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="MetadataConflictResolver.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Common\Version.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ScientificDataSet\ScientificDataSet.csproj">
<Project>{24d8613c-e1e9-4d7b-abaa-051eed4e5dbc}</Project>
<Name>ScientificDataSet</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>