使Nuget软件包本机依赖关系在输出目录中复制



这里的要点是:我不是Nuget软件包的作者,我只是在使用它。就我而言,这是硒,但可能是任何东西。

我有我的项目BaseTest,它具有基于硒的一些基本功能。我也有 Test1Test2,..., TestN项目参考此 BaseTest

现在我运行测试,并且它们失败了,因为当MSBuild构建解决方案时,它不会复制本机依赖性chromedriver.exe,而chromedriver is missing则失败。

我现在有两个选择要考虑:我可以将Selenium软件包添加到所有项目中,从理论上讲可能会消耗此BaseTest,或者我可以手动对所有这些项目进行XCOPY。两种选择似乎都很丑陋。

有什么更好的方法来执行此类操作?


我没想到会添加文件,因为内容适用于传递依赖关系(例如,根据此链接)

但是,确实如此。我在csproj中的更改

<ItemGroup>
    <Content Include="..packagesSelenium.Chrome.WebDriver.2.33driverchromedriver.exe">
      <Link>chromedriver.exe</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
</ItemGroup>

它确实可以按预期工作。感谢@SOTN

您可以将chromedriver.dll纳入您的项目(例如代码文件),并将其"复制到输出目录"选项设置为"始终"/"复制"/"如果较新"。p>如果您不想检查dll,也可以将其添加为现有链接(添加现有项目 -> add as link),然后将"复制到输出目录"选项应用于" coppy始终"/"复制"如果较新"。

最新更新