c# - 如何在 C# ClickOnce 安装应用程序中引用二进制文件
问题描述
我目前正在使用 C# 使用WebView2构建应用程序,但是,我需要让那些目前不在Edge上的人可以访问它。我决定使用固定版本的运行时,如此处所述。 我将使用“ EnsureCoreWebView2Async ”来指定我的环境。
我的问题是,如果我要使用ClickOnce打包项目,如何引用“ CoreWebView2Environment.CreateAsync”中的“browserExecutableFolder ”参数中所需的二进制文件?我不知道用户会将文件安装在哪里,所以我不知道要引用哪个目录。我可以根据包目录引用文件吗,如下所示:
"...\\bin\\Release\\net5.0-windows\\programName.exe.Webview2\\EBWebView\\x64\\EmbeddedBrowserWebView.dll"
...或者我需要使用另一种文件引用语法吗?
抱歉,这似乎是一个初学者的问题,但我最近才开始学习 C#/.NET,我仍在尝试完全掌握编程的窍门。:-)
解决方案
您可以在 click once 安装程序中打包二进制文件。当它被提取时,二进制文件将与安装的应用程序位于相同的(i recon)目录中。点击一次安装程序将用于安装应用程序?
一旦您知道二进制文件在安装时的位置以及它是否与已安装的应用程序位于同一文件夹中,您就可以使用以下代码获取该路径。
var exePath = System.Reflection.Assembly.GetEntryAssembly().Location;
与它一起使用时Path.Combine(exepath, "nameofbinaryfile");
您可以获得对二进制文件的引用。
推荐阅读
- r - kable 可以读取乳胶命令吗?
- c - ESP8266 无法连接到客户端
- java - 自定义布尔反序列化器在 Gson 中不起作用
- bash - 可以在花括号中扩展 Bash 变量吗?
- python - Lightgbm 无法从 Dataset get_field 方法访问数据
- sql-server - 包括 NULL 的 SQL 连接
- python - 使用 pandas 按天分组 DatetimeIndex
- javascript - 如何将变量从 Javascript 输出到 html?
- c - 链表中的不同指针
- ssms - ssms - 如何在没有数据的情况下创建与另一台服务器上的表相同的表