2

コンピューターをシャットダウンするために作成しているアプリがあります

System.Management; を使ってみました。しかし、参照を追加するように指示されます。参照の追加リストにそのようなものはありませんこのコードを使用してみましたが、プロセスには赤い波線があります

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

シャットダウンする方法についてのアイデアはありますか?

4

2 に答える 2

1

このような不可解な問題には、1 つの簡単な説明があります。Portable Class Libraries を使用しているか、".NET for Metro スタイル アプリ" プラットフォーム ターゲットを選択しています。Process クラスの使用を許可しない Metro アプリは、多くの標準 .NET 機能を無効にするサンドボックスで動作します。別のプロセスを起動したり、OS をシャットダウンしたりすることは許可されておらず、ユーザーのみが実行できます。

これが重要な場合は、Metro をあきらめる必要があります。アプリはデスクトップ アプリとして実行する必要があります。また、Win8 を起動するスレートでは実行できません。

于 2012-08-07T13:03:51.360 に答える
0

私は終わりました

  1. 最新の Visual Studio 2015 SP3 へのアップグレード、
  2. powershell を使用して Scott Smith のアップグレード コマンドを実行すると、

    powershell dnvm upgrade -r coreclr
    

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

  3. Visual Studio から新たにコンソール プロジェクトを作成します。

標準クラスを解決するために必要なパッケージを追加した後、この 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"
    }
  }
}
于 2016-10-12T17:46:28.683 に答える