无法从Chrome扩展中启动c#主机应用程序

本文关键字:启动 主机 应用程序 扩展 Chrome | 更新日期: 2023-09-27 18:17:18

我遵循这篇文章,试图建立一个c#本地消息主机。c#原生主机与Chrome原生消息

我已经运行了我的示例,我可以从bat文件启动Calc.exe,如下所示:

host.json

{
  "name": "tsetools",
  "description": "TSE tools for Chrome",
  "path": "tse-host.bat",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://ddemkjpofammommjpcmkhpajoccdjcdg/"
  ]
}

tse-host.bat

@echo off
CD C:'Windows'System32
start calc.exe

以上工作正常&发射Calc.exe

但是如果我改变host。将json修改为:

{
  "name": "tsetools",
  "description": "TSE tools for Chrome",
  "path": "TSEChromeHost.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://jahdheagjlkdjcoeibobaphodgpgpacc/"
  ]
}

我从来没有看到"TSEChromeHost.exe"在任务管理器中启动。我从上面的帖子中构建了c#代码,没有任何错误& &;可以手动午餐。我有"TSEChromeHost.exe"在我的"主机"同一文件夹。json文件。

你知道我做错了什么吗?

无法从Chrome扩展中启动c#主机应用程序

我认为问题是TSEChromeHost.exe无法定位。试试这个:

您需要像这样更改tse-host.bat文件(您需要将您的工作目录更改为TSEChromeHost.exe所在的目录)

@echo off
Pushd D:'SomeDir 
start TSEChromeHost.exe

D:'SomeDir改为TSEChromeHost.exe文件所在目录

并在host.json文件中设置path键,如下所示:

"path": "tse-host.bat"

尝试指定TSEChromeHost.exe的完整路径。在Linux和OSX上,路径必须是绝对的。在Windows上,它可以相对于清单文件所在的目录。(参见本文档)

"path": "Full_path_to_TSEChromeHost.exe"

"path": "C:''TestFolder''TSEChromeHost.exe"