我在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
目录。
答案 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
。