MathNet Numerics 需要 FsUnit.CustomMatchers 才能成功构建。 运行 没有选项
MathNet Numerics needs FsUnit.CustomMatchers to successfully build. Ran out of options
尝试使用 Visual Studio Community 15
和 MathNet.Numerics.sln
从 GitHub 构建最新版本的 MathNet Numerics
,这需要安装用于单元测试的 DLL。
Could not resolve this reference. Could not locate the assembly "FsUnit.CustomMatchers".
Could not resolve this reference. Could not locate the assembly "FsUnit.NUnit".
Could not resolve this reference. Could not locate the assembly "nunit.framework".
因此在 Visual Studio 中使用 NuGet 可以成功安装以下内容。
Successfully installed 'NUnitTestAdapter.WithFramework 2.0.0' to UnitTests
Successfully installed 'FSharp.Core 3.1.2.5' to FSharpUnitTests
Successfully installed 'NUnit 3.0.1' to FSharpUnitTests
Successfully installed 'FsUnit 2.0.0' to FSharpUnitTests
唯一剩下的 DLL 是
FsUnit.CustomMatchers
我找不到。
hint是..\..\packages\test\FsUnit\lib\FsUnit.CustomMatchers.dll
,但是packages
下没有test
目录。
如何正确解决这个问题?
我需要 DLL 吗?如果需要,它位于何处?
我需要手动修复代码吗?
我需要更新提示吗?
TLDR;
如果我在没有丢失 DLL 的情况下构建,基本错误是:
A unique overload for method 'IsTrue' could not be determined based on type information prior to this program point. A type annotation may be needed. Candidates:
Assert.IsTrue(condition: Nullable<bool>, message: string, [<ParamArray>] args: obj []) : unit,
Assert.IsTrue(condition: bool, message: string, [<ParamArray>] args: obj []) : unit
安装
即可解决
Microsoft.VisualStudio.QualityTools.UnitTestFramework
并添加
open Microsoft.VisualStudio.TestTools.UnitTesting
签名为
Assert.IsTrue(condition: bool, message: string, [<ParamArray>] args: obj []) : unit
但这是不正确的,因为它没有安装正确的 DLL(Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
与 FsUnit.CustomMatchers
)并且根据过去的 F# 单元测试经验,我知道字幕可能会导致误报通过这样做。
编辑:
成功安装后我想知道这是在哪里记录的。
The fully automated build including unit tests
, documentation and
api reference, NuGet and Zip packages is using FAKE.
该解决方案使用 Paket, the F# package system. Not NuGet. It also uses FAKE,F# 构建系统。
要恢复、配置和构建所有内容,只需 运行 build.cmd
(或者 build.sh
,如果您使用的是 *NIX)。
路径的 /test/
部分来自名为“dependency group”的东西,这是 Paket 的一个特性。简而言之,它可以让您按某些标准对依赖项进行分组,然后有选择地恢复它们,而不是 "all dependencies, all the time".
根据其 paket.dependencies file 判断,这个特定项目定义了四个组 - 测试、构建、数据和基准测试。我可以猜测 "Build" 具有常规构建所需的依赖项,并且 "Test" 具有测试所需的依赖项。
要使用 Paket 恢复依赖项,您需要下载 Paket,然后 运行 paket install
。
为了简化下载部分,该解决方案在 .paket/paket.bootstrapper.exe
包含一个引导程序,您可以 运行 下载最新的 Paket。这是一个标准的东西,它是在你通过 运行ning paket init
.
初始化一个新项目时添加的
整个过程(即 运行 启动引导程序,然后 运行 启动 Paket 本身)被编码在 build.cmd
和 build.sh
文件中,连同 运行宁假之后。这就是为什么我建议您只需 运行 build.cmd
.
尝试使用 Visual Studio Community 15
和 MathNet.Numerics.sln
从 GitHub 构建最新版本的 MathNet Numerics
,这需要安装用于单元测试的 DLL。
Could not resolve this reference. Could not locate the assembly "FsUnit.CustomMatchers".
Could not resolve this reference. Could not locate the assembly "FsUnit.NUnit".
Could not resolve this reference. Could not locate the assembly "nunit.framework".
因此在 Visual Studio 中使用 NuGet 可以成功安装以下内容。
Successfully installed 'NUnitTestAdapter.WithFramework 2.0.0' to UnitTests
Successfully installed 'FSharp.Core 3.1.2.5' to FSharpUnitTests
Successfully installed 'NUnit 3.0.1' to FSharpUnitTests
Successfully installed 'FsUnit 2.0.0' to FSharpUnitTests
唯一剩下的 DLL 是
FsUnit.CustomMatchers
我找不到。
hint是..\..\packages\test\FsUnit\lib\FsUnit.CustomMatchers.dll
,但是packages
下没有test
目录。
如何正确解决这个问题?
我需要 DLL 吗?如果需要,它位于何处?
我需要手动修复代码吗?
我需要更新提示吗?
TLDR;
如果我在没有丢失 DLL 的情况下构建,基本错误是:
A unique overload for method 'IsTrue' could not be determined based on type information prior to this program point. A type annotation may be needed. Candidates:
Assert.IsTrue(condition: Nullable<bool>, message: string, [<ParamArray>] args: obj []) : unit,
Assert.IsTrue(condition: bool, message: string, [<ParamArray>] args: obj []) : unit
安装
即可解决Microsoft.VisualStudio.QualityTools.UnitTestFramework
并添加
open Microsoft.VisualStudio.TestTools.UnitTesting
签名为
Assert.IsTrue(condition: bool, message: string, [<ParamArray>] args: obj []) : unit
但这是不正确的,因为它没有安装正确的 DLL(Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
与 FsUnit.CustomMatchers
)并且根据过去的 F# 单元测试经验,我知道字幕可能会导致误报通过这样做。
编辑:
成功安装后我想知道这是在哪里记录的。
The fully automated build including
unit tests
, documentation and api reference, NuGet and Zip packages is using FAKE.
该解决方案使用 Paket, the F# package system. Not NuGet. It also uses FAKE,F# 构建系统。
要恢复、配置和构建所有内容,只需 运行 build.cmd
(或者 build.sh
,如果您使用的是 *NIX)。
路径的 /test/
部分来自名为“dependency group”的东西,这是 Paket 的一个特性。简而言之,它可以让您按某些标准对依赖项进行分组,然后有选择地恢复它们,而不是 "all dependencies, all the time".
根据其 paket.dependencies file 判断,这个特定项目定义了四个组 - 测试、构建、数据和基准测试。我可以猜测 "Build" 具有常规构建所需的依赖项,并且 "Test" 具有测试所需的依赖项。
要使用 Paket 恢复依赖项,您需要下载 Paket,然后 运行 paket install
。
为了简化下载部分,该解决方案在 .paket/paket.bootstrapper.exe
包含一个引导程序,您可以 运行 下载最新的 Paket。这是一个标准的东西,它是在你通过 运行ning paket init
.
整个过程(即 运行 启动引导程序,然后 运行 启动 Paket 本身)被编码在 build.cmd
和 build.sh
文件中,连同 运行宁假之后。这就是为什么我建议您只需 运行 build.cmd
.