Как запустить Interaction Shell в. Net Core 3.1 WPF - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь запустить команды Shell для включения или отключения разрешений брандмауэра при подключении или отключении vpn, и я использовал с помощью microsoft.visualbasi c для того, что отлично работает в Visual Studio 2015, но теперь я я делаю то же самое в Visual Studio 2019. Net Core, и когда я использую microsoft.visualbasi c, он показывает ошибку в методе Shell как

CS0117 «Взаимодействие» не содержит определения для «Shell»

Это код, который я пытаюсь запустить

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
using Microsoft.VisualBasic;
using System.Diagnostics;
using System.Collections;
using CasVPN.Model;
namespace CasVPN.Classes
{
class Global
{
public static void Disable_Network()
    {
        string value = "netsh advfirewall firewall add rule name = Block All Traffic dir =in action = allow port enable = yes remoteip = 5, 46, 48 - 1722, 1724 - 65535,LocalSubnet profile = public";
        Interaction.Shell("cmd.exe /c" + value);
    }
}
}

1 Ответ

0 голосов
/ 17 января 2020

Согласно документации , Interaction.Shell доступен только в. NET Framework и не является частью. NET Core.

Вам нужно будет изменить свой приложение к цели. NET Framework или используйте альтернативный метод выполнения команды, например Process.Start .

...