c# - ClickOnceInstall CefSharp Winforms 问题

标签 c# winforms cefsharp

我正在尝试将我的示例 CefSharp WinForms 项目作为 clickonceinstall 应用程序运行。

创建过程中一切正常,但是当我尝试安装程序时(程序当然可以正常运行并且没有问题),没有任何反应! 我用许多不同的配置(版本、调试 ecc)和平台(x86、x64)尝试了这个操作,但它总是同一个问题。

我能做什么?

我在 Windows 10 64 位上使用 Visual Studio 15。

最佳答案

我最近在部署 ClickOnce 应用程序时也遇到了这个问题。

我在用户@CRoemheld at this link here 的 CefSharp 问题页面 1314 上找到了这个问题的解决方案.

如其他地方所述,ClickOnce 只会将托管 .DLL 捆绑作为其部署过程的一部分。

但我们还需要将 native CEF DLL 作为我们应用程序的一部分。

看起来没有通过 Visual Studio UI 执行此操作的简单方法(我尝试过),但您可以通过手动修改 .csproj 文件以包含以下内容来轻松完成此操作。

打开您的 .csproj 文件并在最后的 </Project> 之前附加以下代码片段标识符。

<ItemGroup>
<Content
Include="$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\**\*" Exclude="$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\x86\**\*;$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\locales\**\*.pak">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>

<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\**\en-GB.*;$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\**\en-US.*">
  <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
  <Visible>false</Visible>
</Content>
</ItemGroup>

<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x86.3.2526.1362\CEF\x86\**\*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>

<ItemGroup>
<Content Include="$(SolutionDir)packages\CefSharp.Common.47.0.4\CefSharp\x86\**\CefSharp.BrowserSubprocess.*">
  <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
  <Visible>false</Visible>
</Content>
</ItemGroup>'

完成此操作后,在 Visual Studio 中,在发布选项卡上单击“应用程序文件”按钮时

enter image description here

您将看到将与应用程序一起部署的所需 CEFSharp 依赖项。

enter image description here

关于c# - ClickOnceInstall CefSharp Winforms 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225222/

相关文章:

javascript - Tab 进行验证码

c# - 让视频在 CefSharp 中循环播放

c# - CefSharp 浏览器 SendKeys 问题

c# - 如何将 'default using' 添加到所有 cshtml 页面?

c# - 如何使用控制台隐藏样式运行 C# 控制台应用程序?

c# - 在并行处理期间维护 DataTable 行的顺序

c# - 使用附加文本对 C# 中的标签进行数据绑定(bind)?

c# - 在 C# WinForms 中为 Listbox/ListView 行的部分着色的方法?

c# - 为什么接口(interface)列表不能使用实现类型?

c# - 单击表单时移动表单,而不是顶栏区域