通过NuGet安装的自定义测试适配器没有发现测试

我正在尝试通过NuGet安装自定义测试适配器,但似乎VS无法识别它。 我查看了Microsoft.VisualStudio.TestWindow.VsAdapters.UnitTestExtensionDiscoverer中的代码,所以我意识到dll必须以* .TestAdapter.dll结尾。 使用该名称使得vstest.console在我指定/ TestAdapterPath时对我有用,所以我不确定为什么VS2013测试窗口没有显示我的测试。

通过将相关文件复制到C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ Extensions,适配器在安装时可以正常工作。

我需要遵循VS2013加载测试适配器的其他路径或文件名约定吗? 没有任何日志记录或错误消息我真的不知道如何收集更多信息来调试它。

问题似乎是我试图通过覆盖package目录中的dll进行调试。 这不起作用,因为VS将您的包目录复制到以下内容:

%TEMP%\ VisualStudioTestExplorerExtensions \ My.TestAdapter.1.0.0.23

基本上使用密钥作为版本号来缓存它。 如果将文件复制到项目包目录中,VS将不会复制它,因为文件夹编号没有更改。 因此,要更新扩展,您必须继续发布NuGet包。

至少这是我理解它的方式。

编辑:我也注意到当你通过NuGet升级你的测试适配器时,它会在你重新启动VS或者杀死vstest之前不会开始使用新版本。*