私はこの問題に完全にこだわっています。したがって、私のチームはサービステストプロジェクトに単体テストプロジェクトを持っています。テストはテストエクスプローラーペインで検出されますが、テストを実行しようとすると、次のエラーが表示されます。
'同じuri' executor:// xunit/VsTestRunner2 'の複数のテストアダプタが見つかりました。アダプター 'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'を無視します。この警告を回避するには、競合するアダプターをアンインストールしてください '
'[xUnit.net 00:00:00.0251250]スキップ:(依存アセンブリ' Microsoft.Extensions.DependencyModel、Version = 1.1.0 'が見つかりませんでした)'
'C:\で利用できるテストはありません。テストディスカバーとエグゼキューターが登録され、プラットフォームとフレームワークのバージョン設定が適切であることを確認して、再試行してください。
コンテキスト情報:
私のテストプロジェクトproject.json:
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.3",
"Microsoft.DiaSymReader": "1.0.8",
"Microsoft.DiaSymReader.Native": "1.4.1",
"Microsoft.Extensions.Logging.Abstractions": "1.1.2",
"Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview2-003121",
"Newtonsoft.Json": "9.0.1",
"WebServices": "1.0.0-*",
"xunit": "2.2.0",
"xunit.abstractions": "2.0.1",
"xunit.assert": "2.2.0",
"xunit.core": "2.2.0",
"xunit.extensibility.core": "2.2.0",
"xunit.extensibility.execution": "2.2.0",
"xunit.runner.utility": "2.2.0"
},
"frameworks": {
"net461": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
}
}
奇妙なことは、それが私のチームメンバーのために働くということです。しかし、私ではありません。環境の違いは次のとおりです。WindowsとVisual Studioからの最新の更新ですが、更新は1つまたは2つ遅れています。
誰かが回避策を知っていますか?
同じ問題が発生したため、Visual Studio 2017を15.5.2から15.5.4に更新し、テストプロジェクトの参照を次の場所から更新することで修正しました。
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
に:
<ItemGroup>
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
</ItemGroup>
Visual Studioを再起動します(明らかに、VSがキャッシュされ、更新後も以前のバージョンが使用されます)。
3つのうちの1つまたはそれらの組み合わせがそれを修正したかどうかはわかりません。
「xunit.runner.visualstudio」パッケージをインストールまたは更新すると、うまくいきました。それまでは、フレームワーク462で動作していませんでした。
私はあなたと同じような問題を抱えていました。could not find dependent Assembly
;実際、そのアセンブリはそこにあり、xUnit VSランナーが利用できました。しかし、実際の問題は何だったのか、Visual Studioでデフォルトで32bit
テストランナーを使用するように設定しました。見つけられなかった「依存アセンブリ」は、使用されているxUnitテストランナーとは異なるプロセッサアーキテクチャでした。
here のように修正するには、Visual StudioメニューからTest -> Test Settings -> Default Processor Architecture
に移動し、X64
アセンブリを使用している場合は64bit
に設定するか、X86
32bit
アセンブリを使用している場合。 xUnit VSランナーが提供するエラーは、この問題をデバッグしようとする非常に誤解を招くものです。
新しいマシンにVisual Studioをインストールするときに見たこの問題。テストはVisual Studioのデスクトップマシンで実行されますが、ラップトップでは実行されません。
同じ問題が発生しましたが、Visual Studio 2017 15.5.4が既にインストールされています。それを機能させるために、すべてのxunit
関連の参照を更新しましたが、.csproj関連の参照は次のようになりました。
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
何が機能していなかったのかは確かではありませんが、私のアドバイスは、これらの参照がcsproj内にあり、これらの最小バージョンを持っていることを確認することです。