我正在尝试将我的示例 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 中,在发布选项卡上单击“应用程序文件”按钮时
您将看到将与应用程序一起部署的所需 CEFSharp 依赖项。
关于c# - ClickOnceInstall CefSharp Winforms 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225222/