ここでの主なポイントは次のとおりです。私はナゲットパッケージの著者ではなく、ただ使っています。私の場合、それはセレンですが、それは何でもかまいません。ナゲットパッケージのネイティブ依存関係を出力ディレクトリにコピーします。
私のプロジェクトBaseTest
には、Seleniumに基づくいくつかの基本機能があります。私もTest1
,Test2
、...、TestN
このBaseTest
を参照しているプロジェクトがあります。
これで、msbuildがソリューションをビルドするときにネイティブ依存性がコピーされないため、chromedriver.exe
とセレンがchromedriver is missing
で失敗するため、テストを実行して失敗します。
ここでは、Selenium
パッケージを理論的にはこのBaseTest
を消費するすべてのプロジェクトに追加することができます。あるいは、手動でXCOPY
をこれらのプロジェクトすべてに行うことができます。両方の選択肢は醜いようです。
このような操作を実行する方法はありますか?
私は
しかし、それがないコンテンツとしてファイルを追加するには(例えば、this linkによる)の推移の依存関係のために働いていることを期待していませんでした。 csproj
の変更点は次のとおりです。
<ItemGroup>
<Content Include="..\packages\Selenium.Chrome.WebDriver.2.33\driver\chromedriver.exe">
<Link>chromedriver.exe</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
期待どおりに動作します。ありがとう@sotn
chromedriver.dllまたはchromedriver.exe? – Marcel
@marcelありがとう、投稿は編集されました –