![](/img/trans.png)
[英]How to force nuget package reference dlls to be copied to output directory?
[英]Make nuget package native dependencies to be copied in output directory
這里的重點是:我不是nuget包的作者,我只是在使用它。 就我而言,它是硒,但可以是任何東西。
我有我的項目BaseTest
,它具有基於Selenium的一些基本功能。 我也有TestN
該BaseTest
Test1
, Test2
,..., TestN
項目。
現在,我運行測試,他們失敗的原因時的MSBuild構建解決方案它不會復制本地的依賴chromedriver.exe
和硒失敗chromedriver is missing
。
我現在有兩個選擇要考慮:我可以將Selenium
包添加到所有項目中, BaseTest
理論上可能會消耗此BaseTest
,或者我可以手動對所有這些項目執行XCOPY
。 兩種選擇似乎都很丑陋。
有沒有更好的方法來執行這樣的操作?
我沒想到添加文件作為內容對傳遞依賴項有效(例如,根據此鏈接 )
但是,確實如此。 我對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包含到您的項目中(例如代碼文件),並將其“復制到輸出目錄”選項設置為“始終復制” /“如果更新則復制”。
如果您不想簽入dll,也可以將其添加為現有鏈接(添加現有項->添加為鏈接),然后將“復制到輸出目錄”選項應用於“始終復制” /“如果更新則復制” 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.