发布ASP.NET Core MVC 2.1项目时,将文件(geckodriver.exe)复制到发布文件夹

时间:2018-10-07 14:23:59

标签: c# selenium-webdriver asp.net-core csproj geckodriver

我在ASP.NET Core中使用firefox geckodriver,注意到geckodriver.exe被复制到bin\Debug\netcoreapp2.1,在调试期间可以正常工作。但是发布后,它就不在bin\Debug\netcoreapp2.1\publish中。

因此,我尝试与此ItemGroup一起copy it using csproj file

<ItemGroup>
    <Content Include="$(TargetDir)\geckodriver.exe" CopyToPublishDirectory="Always" />
  </ItemGroup>

找到该文件,原因是当我将路径更改为$(TargetDir)\geckodriver2.exe时,我收到一个错误,提示geckodriver2.exe不存在。但是不会将geckodriver.exe复制到publish目录。

1 个答案:

答案 0 :(得分:1)

手动删除bin\Debug\netcoreapp2.1\publish并运行dotnet publish后,我注意到geckodriver已复制到bin\Debug\netcoreapp2.1\publish\bin\Debug\netcoreapp2.1。因此,似乎由于某种缓存问题而没有复制我的文件。

由于目的地仍然是错误的,我发现this blogpost about copying files给了我正确的提示:

<Content Include="$(TargetDir)\geckodriver.exe" CopyToPublishDirectory="Always">
    <Link>geckodriver.exe</Link>
</Content>

现在,可执行文件已正确复制到bin\Debug\netcoreapp2.1\publish