6

あるマシンでの奇妙な動作の真相を突き止めようとしています。対話的に実行する単純なコンソール アプリケーションがありますが、WMI 経由で呼び出すと、すぐに起動して終了します。

Procmon が非公開だったので、Fusion ログを有効にしました。次のエラーが表示されます。

*** Assembly Binder Log Entry (31-01-2015 @ 19:22:51) *** 

The operation was successful. 
Bind result: hr = 0x1. Incorrect function. 

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Running under executable C:\CMCBOOTSTRAP\Cmc.Installer.Agent.Console.exe 
--- A detailed error log follows. 

BEGIN : Native image bind. 
END : Incorrect function. (Exception from HRESULT: 0x00000001 (S_FALSE))

「誤作動」の原因は?このアプリケーションが WMI 経由の起動時に効果的に終了する理由を判断するには、他に何を調べることができますか?

そして、私は些細なことを意味します...

class Program
{
    static void Main(string[] args)
    {
        Thread.Sleep(30000);
    }
}

環境は Windows Server 2012 R2 と .NET 4.5 です。

4

2 に答える 2

12

これは完全に通常の事故です。Fuslogvw.exe から、[ログ カテゴリ] 設定で [ネイティブ イメージ] ラジオ ボタンを選択して取得しました。自分のマシンでも簡単に再現できるので、それらの多くを目にします。

実際のエラー コードは、「正常に失敗した」ことを意味する COM エラー コードである S_FALSE です。それが と言う理由The operation was successfulです。診断メッセージを「関数が失敗しました」と誤って解釈しました。これは Windows エラー 1 の説明であり、FormatMessage() winapi 関数によって返されます。

コンソール モード アプリで Ngen.exe をまだ実行していないため、Ngen.exe のネイティブ イメージは利用できません。探し続けてください、これはそうではありません。ログ カテゴリを「デフォルト」に戻します。ネイティブ イメージは問題ではありません。

于 2015-01-31T16:21:17.363 に答える