【问题标题】:OpenVPN Unable to Connect VPN Server using C#OpenVPN 无法使用 C# 连接 VPN 服务器
【发布时间】:2022-01-09 04:49:48
【问题描述】:

我正在尝试使用 OpenVPN 社区从我用 C# 开发的桌面应用程序连接 VPN 服务器。代码运行良好,但在建立连接时突然出现以下错误。

这是之前可以工作但现在不行的代码。

string OpenVpnLocation = Environment.Is64BitOperatingSystem ? @"C:\Program Files\OpenVPN\bin\openvpn.exe" : @"C:\Program Files\OpenVPN\bin\openvpn.exe";

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
    //WindowStyle = ProcessWindowStyle.Hidden,
    FileName = OpenVpnLocation,
    Arguments = "--config server.ovpn --auth-user-pass ovpnpass.txt",
    Verb = "runas"
};
process.StartInfo = startInfo;
process.Start();

根据我理解的错误日志,路由已经创建,并且从这段代码中它正在创建另一个路由,这会引发错误,如果是这样,那么有什么方法可以从 C# 代码中处理它?

提前致谢!

【问题讨论】:

  • 您必须使用 powershell 然后返回控制台。无法在 C# 上捕捉到这一点
  • 任何建议如何从 powershell 删除或关闭此路由?

标签: c# .net vpn desktop-application openvpn


【解决方案1】:

在连接到 OpenVPN 之前,关闭 openvpn.exe,它可以正常工作。

Process process1 = new Process();
ProcessStartInfo startInfo1 = new ProcessStartInfo
{
    WindowStyle = ProcessWindowStyle.Hidden,
    FileName = "cmd.exe",
    Arguments = "taskkill.exe /F /IM openvpn.exe",
    Verb = "runas",
    UseShellExecute = true
};
process1.StartInfo = startInfo1;
process1.Start();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2015-09-18
    • 2015-11-13
    • 2021-09-05
    • 2018-07-01
    • 2014-08-21
    相关资源
    最近更新 更多