我通过 nuget 安装了 ABCpdf.ABCGecko 包,它给了我这个对话框:
完成的!请手动将 XULRunner 文件夹部署到您的输出目录。
我真的不知道这意味着......我有一个想法,但不知道在哪里或如何修改我的构建配置以允许这种情况发生。有没有人这样做过,如果有,怎么做?
我最初尝试的答案适用于我的开发设置,但不适用于我们的分阶段部署设置,因为出于某种原因,它没有在使用 MSDeploy 创建的 Web 包中包含 XULRunner 文件。我发现下面的设置似乎更简单:
<ItemGroup>
<Content Include="XULRunner\**\*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
我不能 100% 确定这是否普遍适用,但它似乎在我迄今为止遇到的每个开发和部署方案中都能更好地工作。
我找到了如何通过这个 SO answer来实现这一点。项目文件的相关更改.csproj
如下:
<Target Name="AfterBuild">
<CallTarget Targets="CopyXULRunnerToDeployFolder" />
</Target>
<Target Name="CopyXULRunnerToDeployFolder">
<ItemGroup>
<MyFiles Include="XULRunner\**\*.*" />
</ItemGroup>
<Microsoft.Build.Tasks.Copy SourceFiles="@(MyFiles)" DestinationFiles="@(MyFiles->'$(OutputPath)\XULRunner\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>