缺少对System.Diagnostics.Process的引用

时间:2012-08-07 12:19:40

标签: c# .net windows .net-4.5

我正在构建一个关闭计算机的应用程序

我尝试过使用      使用System.Management; 但它告诉我在添加引用列表中添加引用,没有这样的东西 我尝试使用此代码,但进程有一个红色的squigly

System.Diagnostics.Process.Start("Shutdown", "-s -t 10");

关于如何关闭的任何想法?

2 个答案:

答案 0 :(得分:1)

对于像这样的神秘问题有一个简单的解释:您正在使用可移植类库或已选择“.NET for Metro风格应用程序”平台目标。其中不允许使用Process类,Metro应用程序在禁用许多标准.NET功能的沙箱中运行。启动另一个进程或关闭操作系统允许,只有用户可以这样做。

如果这对您很重要,您将不得不放弃Metro,您的应用需要作为桌面应用运行。并且不会在启动Win8的平板上运行。

答案 1 :(得分:0)

我结束了

  1. 升级到最新的Visual Studio 2015 SP3,
  2. 使用PowerShell运行Scott Smith的升级命令,

    powershell dnvm upgrade -r coreclr
    

    https://stackoverflow.com/a/34013990/80772

  3. 从Visual Studio重新创建一个控制台项目。

  4. 在添加解析标准类所需的更多包后,我观察了这个global.json,

    {
      "projects": [ "src", "test" ],
      "sdk": {
        "version": "1.0.0-preview2-003131"
      }
    }
    

    和这个project.json,

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        },
        "system.diagnostics.textwritertracelistener": "4.0.0-beta-23123",
        "System.Diagnostics.TraceSource": "4.0.0",
        "System.IO": "4.1.0"
      },
    
      "frameworks": {
        "netcoreapp1.0": {
          "imports": "dnxcore50"
        }
      }
    }