我试图将我的示例Cefsharp winforms项目作为clickonceinstall应用程序运行。 在创建过程中一切都很好,但是当我尝试安装程序时(程序当然正在运行而且没有问题)没有任何反应! 我尝试使用许多不同的配置(发布,调试ecc)和平台(x86,x64),但始终是同一个问题。 我该怎么办?
无论如何,我在Windows 10 64位上使用Visual Studio 15。 如果您需要一些代码,请告诉我
提前致谢
答案 0 :(得分:8)
我最近在部署ClickOnce应用程序时遇到了这个问题。
我在用户@CRoemheld at this link here的CefSharp问题页面1314上找到了此问题的解决方案。
如其他地方所述,ClickOnce仅将manged .DLL捆绑为其部署过程的一部分。
但我们还需要将原生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依赖项。
答案 1 :(得分:1)
我下载了Cefsharp并使用了默认的winforms示例。
我在x64中构建了问题所以我跳过了它并使用了x86。
这与oneclick启动器有问题。该日志文件表示由于明显的问题而崩溃。
I found this表示更改设置。
&#34;在项目属性中 - &gt;应用程序选项卡 - &gt;资源 - &gt;复选框图标和清单,设置&#34;使用默认设置嵌入清单&#34;引起了这个问题。将其设置为&#34;创建没有清单的应用程序&#34;解决问题。&#34;
然后我删除了WinForms.example树下的清单文件。 执行干净的构建并发布!
现在我有一个工作单击。
希望明显的问题与您所拥有的问题相同。
答案 2 :(得分:0)
几天后,我终于做到了。 该问题的解决方案如下:
在文件和文件中,在结束标记之前添加以下代码:http://codepaste.net/ir2h7s(块代码似乎现在不起作用:\)
右键点击项目---&gt;重新加载项目
答案 3 :(得分:0)
我的答案几乎与@Ocean Airdrop的答案相同,但还有以下补充内容:
69.0.0
cef.redist
版本。它应该与您的项目中的相同。我的是3.3497.1841
;
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\**\*" Exclude="$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\x86\**\*;$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\locales\**\*.pak">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\**\en-GB.*;$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\**\en-US.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x86.3.3497.1841\CEF\x86\**\*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\CefSharp.Common.69.0.0\CefSharp\x86\**\CefSharp.BrowserSubprocess.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\**\*" Exclude="$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\x64\**\*;$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\locales\**\*.pak">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\**\en-GB.*;$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\**\en-US.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\cef.redist.x64.3.3497.1841\CEF\x64\**\*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="$(SolutionDir)packages\CefSharp.Common.69.0.0\CefSharp\x64\**\CefSharp.BrowserSubprocess.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<Visible>false</Visible>
</Content>
</ItemGroup>
此外,您仍需要注意以下事实:您需要在目标计算机上安装Visual Studio C ++ Redist。否则它仍然无法正常工作。