Unit testing 将项目升级到NuGet 3.0后运行AutoFixture xUnit Theory时出现的问题

Unit testing 将项目升级到NuGet 3.0后运行AutoFixture xUnit Theory时出现的问题,unit-testing,nuget,xunit.net,autofixture,vs-unit-testing-framework,Unit Testing,Nuget,Xunit.net,Autofixture,Vs Unit Testing Framework,我遇到问题,已提交。然而,在这里做一些搜索,似乎有一些问题与我的问题类似(但没有解决它),所以我想在这里问更多的可见性 问题在于:我最近将我的NuGet 2.0项目(packages.config)升级为NuGet 3.0(project.json——不要与ASP/.NET Core的project.json混淆)。除了一组特定的测试外,所有测试都进行了跳跃: 利用AutoFixture(或)理论并加以修饰的测试 我制作了一个非常简单的复制品,可以在这里找到: (请注意,该名称反映了问题与Re

我遇到问题,已提交。然而,在这里做一些搜索,似乎有一些问题与我的问题类似(但没有解决它),所以我想在这里问更多的可见性

问题在于:我最近将我的NuGet 2.0项目(packages.config)升级为NuGet 3.0(project.json——不要与ASP/.NET Core的project.json混淆)。除了一组特定的测试外,所有测试都进行了跳跃:

利用AutoFixture(或)理论并加以修饰的测试

我制作了一个非常简单的复制品,可以在这里找到:

(请注意,该名称反映了问题与ReSharper相关的最初印象,但它确实影响到它和本机VS单元测试运行程序。)

您可以尝试构建解决方案,并且应该发现它构建正常,但在ReSharper的测试运行程序和本机VS测试运行程序中都找不到测试(请注意,我正在运行VS 2015 Update 3)

但是,重新构建应能按预期成功发现所有测试

这是一个头破血流,是我继续前进的拦路虎。有没有我忽略的考虑因素?FWIW,我已清除了我的
%TEMP%\VisualStudioTestExplorerExtrances
as,但它也不起作用

任何帮助都将不胜感激

tl;博士 您需要在配置文件中手动添加xUnit的程序集绑定重定向:


NuGet 3.0中引入的机制

使用project.json格式时,包中捆绑的安装/卸载脚本将不再运行。这是因为可传递的包还原

从:

安装/卸载脚本 这些脚本不受支持,将被忽略。如果它们存在于包中,则使用 可传递恢复

我们取消对它的支持的主要原因是 模型,就是没有软件包安装时间的概念。包裹 存在或不存在,但没有一致的过程 这在安装包时发生

这些安装脚本的一项重要工作是将其添加到项目的配置文件中,因为NuGet不会像我们所说的那样自动执行


现在,使用transitive package restore,安装脚本将不再运行,因此您必须自己手动添加绑定重定向。

AWESOME!恩里科·坎皮多格利奥说,这就成功了。很高兴我现在贴在这里。:)