[英]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.