diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
index 3ffdd33c..c41a0d0d 100644
Binary files a/.nuget/NuGet.exe and b/.nuget/NuGet.exe differ
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 0b7eca39..6078d71e 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -88,8 +88,8 @@ This section is incomplete - let us know if we forgot something.*
*For other ways of support, documentation, website, feedback, software licenses, etc.*
- F# Foundation & Community
-- Marcus Cuda
+- Marcus Cuda (license)
- Don Syme
- Lokad SAS
- Microsoft Corp
-- Xamarin
+- Xamarin (license)
diff --git a/MathNet.Numerics.All.sln b/MathNet.Numerics.All.sln
index 7da65c08..be2ee597 100644
--- a/MathNet.Numerics.All.sln
+++ b/MathNet.Numerics.All.sln
@@ -50,19 +50,10 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{B54A0B40-DE22-49FB-B1C0-6E5BDA3B0B2F}"
ProjectSection(SolutionItems) = preProject
build.fsx = build.fsx
+ build\NuGet\MathNet.Numerics.nuspec = build\NuGet\MathNet.Numerics.nuspec
.nuget\packages.config = .nuget\packages.config
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{305FCCF4-B205-4E98-B58A-48117C3CA4E3}"
- ProjectSection(SolutionItems) = preProject
- build\NuGet\FSharp\MathNet.Numerics.FSharp.nuspec = build\NuGet\FSharp\MathNet.Numerics.FSharp.nuspec
- build\NuGet\FSharp.Signed\MathNet.Numerics.FSharp.Signed.nuspec = build\NuGet\FSharp.Signed\MathNet.Numerics.FSharp.Signed.nuspec
- build\NuGet\Numerics\MathNet.Numerics.nuspec = build\NuGet\Numerics\MathNet.Numerics.nuspec
- build\NuGet\Numerics.Signed\MathNet.Numerics.Signed.nuspec = build\NuGet\Numerics.Signed\MathNet.Numerics.Signed.nuspec
- build\NuGet\nuget-signed.proj = build\NuGet\nuget-signed.proj
- build\NuGet\nuget.proj = build\NuGet\nuget.proj
- EndProjectSection
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -166,7 +157,6 @@ Global
{EC24DA9F-8772-491D-BA56-3ADA75072B3D} = {9D409E95-D567-4C2F-A0DF-87A6DF5B3A2E}
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC} = {14DAACDA-AD68-4AAE-B65F-9F6C60866327}
{9014A0CE-725D-4718-918C-923C0CA19FEE} = {14DAACDA-AD68-4AAE-B65F-9F6C60866327}
- {305FCCF4-B205-4E98-B58A-48117C3CA4E3} = {B54A0B40-DE22-49FB-B1C0-6E5BDA3B0B2F}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = src\Numerics\Numerics.csproj
diff --git a/MathNet.Numerics.sln b/MathNet.Numerics.sln
index 04deee45..1a216af0 100644
--- a/MathNet.Numerics.sln
+++ b/MathNet.Numerics.sln
@@ -24,19 +24,10 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{A4A66FA9-C00C-4D5C-A776-27516EA0C536}"
ProjectSection(SolutionItems) = preProject
build.fsx = build.fsx
+ build\NuGet\MathNet.Numerics.nuspec = build\NuGet\MathNet.Numerics.nuspec
.nuget\packages.config = .nuget\packages.config
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{8A295380-F19B-460C-9794-2EF1B67E5483}"
- ProjectSection(SolutionItems) = preProject
- build\NuGet\FSharp\MathNet.Numerics.FSharp.nuspec = build\NuGet\FSharp\MathNet.Numerics.FSharp.nuspec
- build\NuGet\FSharp.Signed\MathNet.Numerics.FSharp.Signed.nuspec = build\NuGet\FSharp.Signed\MathNet.Numerics.FSharp.Signed.nuspec
- build\NuGet\Numerics\MathNet.Numerics.nuspec = build\NuGet\Numerics\MathNet.Numerics.nuspec
- build\NuGet\Numerics.Signed\MathNet.Numerics.Signed.nuspec = build\NuGet\Numerics.Signed\MathNet.Numerics.Signed.nuspec
- build\NuGet\nuget-signed.proj = build\NuGet\nuget-signed.proj
- build\NuGet\nuget.proj = build\NuGet\nuget.proj
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{DB89F4DB-5204-4B38-B9F5-FE11E69D32AD}"
ProjectSection(SolutionItems) = preProject
docs\tools\build-docs.fsx = docs\tools\build-docs.fsx
@@ -97,7 +88,6 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {8A295380-F19B-460C-9794-2EF1B67E5483} = {A4A66FA9-C00C-4D5C-A776-27516EA0C536}
{DB89F4DB-5204-4B38-B9F5-FE11E69D32AD} = {A4A66FA9-C00C-4D5C-A776-27516EA0C536}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
diff --git a/README.md b/README.md
index 968d8dce..b232730e 100644
--- a/README.md
+++ b/README.md
@@ -72,9 +72,10 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd Test net35 # compatibility build (.Net 3.5), run unit tests
build.cmd Clean # cleanup build artifacts
- build.cmd Docs # generate documentation (.Net 4.0)
+ build.cmd Docs # generate documentation
+ build.cmd Api # generate api reference
- build.cmd NuGet # generate NuGet packages (.Net 4.0, 3.5, PCL)
+ build.cmd NuGet all # generate normal NuGet packages (.Net 4.0, 3.5, PCL)
build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0)
build.cmd BuildNativex86 # build native providers 32bit/x86
@@ -83,6 +84,9 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd TestNativex86 # test native providers 32bit/x86
build.cmd TestNativex64 # test native providers 64bit/x64
build.cmd TestNative # test native providers for all platforms
+
+ build.cmd All # build, test, docs, api reference (.Net 4.0)
+ build.cmd All release # release build
FAKE itself is not included in the repository but it will download and bootstrap itself automatically when build.cmd is run the first time. Note that this step is *not* required when using Visual Studio or `msbuild` directly.
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 3f930046..2c5d0ec8 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -11,7 +11,7 @@
* Statistics: DescriptiveStatistics support for larger datasets.
* MKL: native providers must not require MFC to compile.
* Sorting helpers support sub-range sorting, use insertion sort on very small sets.
-* Build: extend usage of FAKE, automate and improve docs using Fsharp.Formatting
+* Build: extend usage of FAKE, automate docs, api and NuGet package generation.
* Portable: replace PCL profile 136 with profile 344, support for WP8.1
* Xamarin: prepare for better Xamarin Android/iOS support and for adding to the Xamarin store (free).
* Misc code style fixes.
diff --git a/build.fsx b/build.fsx
index abcffccd..d600ee8e 100644
--- a/build.fsx
+++ b/build.fsx
@@ -2,8 +2,8 @@
// FAKE build script, see http://fsharp.github.io/FAKE
// --------------------------------------------------------------------------------------
-#I @"packages/FAKE/tools"
-#r @"packages/FAKE/tools/FakeLib.dll"
+#I "packages/FAKE/tools"
+#r "packages/FAKE/tools/FakeLib.dll"
open Fake
open Fake.DocuHelper
@@ -16,14 +16,80 @@ Environment.CurrentDirectory <- __SOURCE_DIRECTORY__
// PROJECT INFO
+type Package =
+ { Id : string
+ Title : string
+ Summary : string
+ Description : string
+ Tags : string
+ Authors : string list
+ Dependencies : string list
+ Files : (string * string option * string option) list }
+
let release = LoadReleaseNotes "RELEASENOTES.md"
let buildPart = "0" // TODO: Fetch from TC
let assemblyVersion = release.AssemblyVersion + "." + buildPart
let packageVersion = release.NugetVersion
+let releaseNotes = release.Notes |> List.map (fun l -> l.Replace("*","").Replace("`","")) |> toLines
+
+let summary = "Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use."
+let description = "Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. "
+let support = "Supports .Net 4.0, .Net 3.5 and Mono on Windows, Linux and Mac; Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 and Windows 8 with PCL Portable Profiles 47 and 344; Android/iOS with Xamarin."
+let supportFsharp = "Supports F# 3.0 on .Net 4.0 and Mono on Windows, Linux and Mac; Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 and Windows 8 with PCL Portable Profiles 47 and 344; Android/iOS with Xamarin."
+let supportSigned = "Supports .Net 4.0."
+let tags = "math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft"
+
+let libnet35 = "lib/net35"
+let libnet40 = "lib/net40"
+let libpcl47 = "lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1"
+let libpcl344 = "lib/portable-net45+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1"
+
+let numericsPack =
+ { Id = "MathNet.Numerics"
+ Title = "Math.NET Numerics"
+ Summary = summary
+ Description = description + support
+ Tags = tags
+ Authors = [ "Christoph Ruegg"; "Marcus Cuda"; "Jurgen Van Gael" ]
+ Dependencies = []
+ Files = [ "..\..\out\lib\Net35\MathNet.Numerics.*", Some libnet35, Some "**\MathNet.Numerics.FSharp.*";
+ "..\..\out\lib\Net40\MathNet.Numerics.*", Some libnet40, Some "**\MathNet.Numerics.FSharp.*";
+ "..\..\out\lib\Profile47\MathNet.Numerics.*", Some libpcl47, Some "**\MathNet.Numerics.FSharp.*";
+ "..\..\out\lib\Profile344\MathNet.Numerics.*", Some libpcl344, Some "**\MathNet.Numerics.FSharp.*" ] }
+
+let fsharpPack =
+ { numericsPack with Id = "MathNet.Numerics.FSharp"
+ Title = "Math.NET Numerics for F#"
+ Summary = "F# Modules for " + summary
+ Description = description + supportFsharp
+ Tags = "fsharp F# " + tags
+ Dependencies = [ "MathNet.Numerics" ]
+ Files = [ "..\..\out\lib\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None;
+ "..\..\out\lib\Profile47\MathNet.Numerics.FSharp.*", Some libpcl47, None;
+ "..\..\out\lib\Profile344\MathNet.Numerics.FSharp.*", Some libpcl344, None ] }
+
+let numericsSignedPack =
+ { numericsPack with Id = numericsPack.Id + ".Signed"
+ Title = numericsPack.Title + " - Signed Edition"
+ Description = description + supportSigned
+ Tags = numericsPack.Tags + " signed"
+ Files = [ "..\..\out\lib-signed\Net40\MathNet.Numerics.*", Some libnet40, Some "**\MathNet.Numerics.FSharp.*" ] }
+
+let fsharpSignedPack =
+ { fsharpPack with Id = fsharpPack.Id + ".Signed"
+ Title = fsharpPack.Title + " - Signed Edition"
+ Description = description + supportSigned
+ Tags = fsharpPack.Tags + " signed"
+ Dependencies = [ "MathNet.Numerics.Signed" ]
+ Files = [ "..\..\out\lib-signed\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None ] }
// PREPARE
+Target "Start" DoNothing
+Target "Clean" (fun _ -> CleanDirs ["out"; "obj"; "temp"])
+Target "RestorePackages" RestorePackages
+
Target "AssemblyInfo" (fun _ ->
BulkReplaceAssemblyInfoVersions "src/" (fun f ->
{ f with
@@ -31,10 +97,6 @@ Target "AssemblyInfo" (fun _ ->
AssemblyFileVersion = assemblyVersion
AssemblyInformationalVersion = packageVersion }))
-Target "Clean" (fun _ -> CleanDirs ["out"; "obj"; "temp"])
-Target "RestorePackages" RestorePackages
-
-Target "Start" DoNothing
Target "Prepare" DoNothing
"Start"
@@ -46,22 +108,21 @@ Target "Prepare" DoNothing
// BUILD
-let build subject =
- MSBuild
- ""
- (if hasBuildParam "incremental" then "Build" else "Rebuild")
- [ "Configuration", if hasBuildParam "signed" then "Release-Signed" else "Release" ]
- subject |> ignore
+let buildConfig config subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [ "Configuration", config ] subject |> ignore
+let build subject = buildConfig "Release" subject
+let buildSigned subject = buildConfig "Release-Signed" subject
Target "BuildMain" (fun _ -> build !! "MathNet.Numerics.sln")
Target "BuildNet35" (fun _ -> build !! "MathNet.Numerics.Net35Only.sln")
Target "BuildAll" (fun _ -> build !! "MathNet.Numerics.All.sln")
-Target "Build" DoNothing
+Target "BuildSigned" (fun _ -> buildSigned !! "MathNet.Numerics.sln")
+Target "Build" DoNothing
"Prepare"
=?> ("BuildNet35", hasBuildParam "net35")
- =?> ("BuildAll", hasBuildParam "all")
- =?> ("BuildMain", not (hasBuildParam "all" || hasBuildParam "net35"))
+ =?> ("BuildSigned", hasBuildParam "signed" || hasBuildParam "release")
+ =?> ("BuildAll", hasBuildParam "all" || hasBuildParam "release")
+ =?> ("BuildMain", not (hasBuildParam "all" || hasBuildParam "release" || hasBuildParam "net35" || hasBuildParam "signed"))
==> "Build"
@@ -80,14 +141,14 @@ Target "BuildNative" DoNothing
// TEST
-Target "Test" (fun _ ->
- !! "out/test/**/*UnitTests*.dll"
- |> NUnit (fun p ->
+let test target =
+ NUnit (fun p ->
{ p with
DisableShadowCopy = true
TimeOut = TimeSpan.FromMinutes 30.
- OutputFile = "TestResults.xml" }))
+ OutputFile = "TestResults.xml" }) target
+Target "Test" (fun _ -> test !! "out/test/**/*UnitTests*.dll")
"Build" ==> "Test"
@@ -116,7 +177,7 @@ Target "TestNative" DoNothing
// DOCUMENTATION
-Target "CleanDocs" (fun _ -> CleanDirs ["out" @@ "docs"])
+Target "CleanDocs" (fun _ -> CleanDirs ["out/docs"])
Target "Docs" (fun _ ->
executeFSIWithArgs "docs/tools" "build-docs.fsx" ["--define:RELEASE"] [] |> ignore
@@ -135,7 +196,7 @@ Target "DocsDev" (fun _ ->
// API REFERENCE
-Target "CleanApi" (fun _ -> CleanDirs ["out" @@ "api"])
+Target "CleanApi" (fun _ -> CleanDirs ["out/api"])
Target "Api" (fun _ ->
!! "out/lib/Net40/MathNet.Numerics.dll"
@@ -146,29 +207,51 @@ Target "Api" (fun _ ->
TimeOut = TimeSpan.FromMinutes 10.
OutputPath = "out/api/" }))
+"Build" ==> "CleanApi" ==> "Api"
+
// NUGET
+let nugetPack pack =
+ CleanDir "obj/NuGet"
+ CopyFile "obj/NuGet/license.txt" "LICENSE.md"
+ CopyFile "obj/NuGet/readme.txt" "RELEASENOTES.md"
+ NuGet (fun p ->
+ { p with ToolPath = "tools/NuGet/NuGet.exe"
+ OutputPath = "out/packages/NuGet"
+ WorkingDir = "obj/NuGet"
+ Version = packageVersion
+ ReleaseNotes = releaseNotes
+ Project = pack.Id
+ Title = pack.Title
+ Summary = pack.Summary
+ Description = pack.Description
+ Tags = pack.Tags
+ Authors = pack.Authors
+ Dependencies = pack.Dependencies |> List.map (fun p -> (p, packageVersion))
+ Files = [ "license.txt", None, None; "readme.txt", None, None; ] @ pack.Files
+ Publish = false }) "build/NuGet/MathNet.Numerics.nuspec"
+
Target "NuGet" (fun _ ->
- // TODO: Replace with FAKE's internal NuGet support and drop the MSBuild project
- !! (if hasBuildParam "signed" then "build/NuGet/nuget-signed.proj" else "build/NuGet/nuget.proj")
- |> MSBuild "" "BuildPackages" [] |> ignore
-)
+ CleanDir "out/packages/NuGet"
+ if hasBuildParam "signed" || hasBuildParam "release" then
+ nugetPack numericsSignedPack
+ nugetPack fsharpSignedPack
+ if hasBuildParam "all" || hasBuildParam "release" then
+ nugetPack numericsPack
+ nugetPack fsharpPack)
-"Start"
- =?> ("BuildAll", not (hasBuildParam "signed"))
- =?> ("BuildMain", hasBuildParam "signed")
- ==> "NuGet"
+"Build" ==> "NuGet"
// RUN
-Target "Release" DoNothing
-"Test" ==> "Release"
-"Docs" ==> "Release"
-"NuGet" ==> "Release"
-
Target "All" DoNothing
-"Build" ==> "Test" ==> "All"
-RunTargetOrDefault "All"
+"Build" ==> "All"
+"NuGet" ==> "All"
+"Docs" ==> "All"
+"Api" ==> "All"
+"Test" ==> "All"
+
+RunTargetOrDefault "Test"
diff --git a/build/NuGet/MathNet.Numerics.nuspec b/build/NuGet/MathNet.Numerics.nuspec
new file mode 100644
index 00000000..6e85d7cc
--- /dev/null
+++ b/build/NuGet/MathNet.Numerics.nuspec
@@ -0,0 +1,22 @@
+
+
+
+ @project@
+ @build.number@
+ @title@
+ @summary@
+ @description@
+ @authors@
+ http://numerics.mathdotnet.com/
+ http://www.mathdotnet.com/images/MathNet128.png
+ https://github.com/mathnet/mathnet-numerics/blob/master/LICENSE.md
+ false
+ @tags@
+ @releaseNotes@
+ @dependencies@
+
+
+
+
+ @files@
+
diff --git a/docs/content/index.fsx b/docs/content/index.fsx
index 31207c5d..656a15e5 100644
--- a/docs/content/index.fsx
+++ b/docs/content/index.fsx
@@ -215,9 +215,10 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd Test net35 # compatibility build (.Net 3.5), run unit tests
build.cmd Clean # cleanup build artifacts
- build.cmd Docs # generate documentation (.Net 4.0)
+ build.cmd Docs # generate documentation
+ build.cmd Api # generate api reference
- build.cmd NuGet # generate NuGet packages (.Net 4.0, 3.5, PCL)
+ build.cmd NuGet all # generate normal NuGet packages (.Net 4.0, 3.5, PCL)
build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0)
build.cmd BuildNativex86 # build native providers 32bit/x86
@@ -227,6 +228,9 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd TestNativex64 # test native providers 64bit/x64
build.cmd TestNative # test native providers for all platforms
+ build.cmd All # build, test, docs, api reference (.Net 4.0)
+ build.cmd All release # release build
+
FAKE itself is not included in the repository but it will download and bootstrap itself automatically when build.cmd is run the first time. Note that this step is *not* required when using Visual Studio or `msbuild` directly.
If the build or tests fail claiming that FSharp.Core was not be found, see [fsharp.org](http://fsharp.org/use/windows/) or install the [Visual F# 3.0 Tools](http://go.microsoft.com/fwlink/?LinkId=261286) directly.
diff --git a/src/FSharp/AssemblyInfo.fs b/src/FSharp/AssemblyInfo.fs
index eb6ca28f..7887b04b 100644
--- a/src/FSharp/AssemblyInfo.fs
+++ b/src/FSharp/AssemblyInfo.fs
@@ -1,4 +1,4 @@
-//
+//
// Math.NET Numerics, part of the Math.NET Project
// http://numerics.mathdotnet.com
// http://github.com/mathnet/mathnet-numerics
@@ -40,12 +40,14 @@ open System.Runtime.InteropServices
[]
[]
[]
-[]
+[]
[]
[]
[]
+
[]
[]
+[]
#if PORTABLE
#else
diff --git a/src/FSharpUnitTests/AssemblyInfo.fs b/src/FSharpUnitTests/AssemblyInfo.fs
new file mode 100644
index 00000000..0c279ee0
--- /dev/null
+++ b/src/FSharpUnitTests/AssemblyInfo.fs
@@ -0,0 +1,22 @@
+namespace MathNet.Numerics
+
+open System.Reflection
+open System.Resources;
+open System.Runtime.CompilerServices
+open System.Runtime.InteropServices
+
+[]
+[]
+[]
+
+[]
+[]
+[]
+
+#if PORTABLE
+#else
+[]
+[]
+#endif
+
+()
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Portable344.fsproj b/src/FSharpUnitTests/FSharpUnitTests-Portable344.fsproj
index 8a7f4e89..8f704293 100644
--- a/src/FSharpUnitTests/FSharpUnitTests-Portable344.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests-Portable344.fsproj
@@ -58,6 +58,7 @@
+
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj b/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
index 2643a3e1..33b32150 100644
--- a/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
@@ -66,6 +66,7 @@
+
diff --git a/src/FSharpUnitTests/FSharpUnitTests.fsproj b/src/FSharpUnitTests/FSharpUnitTests.fsproj
index 0d8a4b54..d29f2c4e 100644
--- a/src/FSharpUnitTests/FSharpUnitTests.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests.fsproj
@@ -71,6 +71,7 @@
+
diff --git a/src/Numerics/Properties/AssemblyInfo.cs b/src/Numerics/Properties/AssemblyInfo.cs
index b2ee589c..88371dff 100644
--- a/src/Numerics/Properties/AssemblyInfo.cs
+++ b/src/Numerics/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-//
+//
// Math.NET Numerics, part of the Math.NET Project
// http://mathnet.opensourcedotnet.info
//
@@ -39,13 +39,15 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Math.NET Project")]
[assembly: AssemblyProduct("Math.NET Numerics")]
-[assembly: AssemblyCopyright("Copyright © Math.NET Project")]
+[assembly: AssemblyCopyright("Copyright © Math.NET Project")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: CLSCompliant(true)]
[assembly: NeutralResourcesLanguage("en")]
+
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyInformationalVersion("1.0.0")]
#if PORTABLE
diff --git a/src/UnitTests/Properties/AssemblyInfo.cs b/src/UnitTests/Properties/AssemblyInfo.cs
index 5d8fe7ae..fa8d6928 100644
--- a/src/UnitTests/Properties/AssemblyInfo.cs
+++ b/src/UnitTests/Properties/AssemblyInfo.cs
@@ -2,35 +2,14 @@ using System.Reflection;
using System.Runtime.InteropServices;
using MathNet.Numerics.UnitTests;
-// 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("NUnitTests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("NUnitTests")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
-[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: AssemblyTitle("Math.NET Numerics Unit Tests")]
+[assembly: AssemblyCompany("Math.NET Project")]
+[assembly: AssemblyProduct("Math.NET Numerics")]
[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("04157581-63f3-447b-a277-83c6e69126a4")]
-// 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")]
+[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: UseLinearAlgebraProvider]
diff --git a/tools/NuGet/NuGet.exe b/tools/NuGet/NuGet.exe
index 3ffdd33c..c41a0d0d 100644
Binary files a/tools/NuGet/NuGet.exe and b/tools/NuGet/NuGet.exe differ