繁体   English   中英

使nuget包本机依赖项复制到输出目录中

[英]Make nuget package native dependencies to be copied in output directory

这里的重点是:我不是nuget包的作者,我只是在使用它。 就我而言,它是硒,但可以是任何东西。

我有我的项目BaseTest ,它具有基于Selenium的一些基本功能。 我也有TestNBaseTest Test1Test2 ,..., 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM