アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました


101

アプリケーションを起動しようとすると、このエラーメッセージが表示されます。

アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました

問題を修正する方法はありますか?

回答:


151

私にとって、問題はVisual Studioを閉じて削除することで解決しました

project.lock.json

Visual Studioを再起動します。

編集:私はRC1を使用していました。


2
RC1プロジェクトの問題を解決しました
Nadav Hury、2015

@NadavHuryここでも同じ:)
ManyRootsofAllEvil

1
PluralSightからダウンロードしたRC1アプリの例で私が抱えていた問題を解決しました。高く評価されました
tomRedox

5
これはもう機能しません。np microsoft。それを理解します。何度も何度も... AGAIN

1
どこproject.lock.json
CodyBugstein

34

マイクロソフトは、リリースノートに記載されているように、ホスティングモデルを変更しました。

project.json依存関係を置き換えます

「Microsoft.AspNet.Server.IIS」:「1.0.0-beta7」

「Microsoft.AspNet.Server.Kestrel」:「1.0.0-beta8」


web.configでのhandlersセクションを除くすべてのエントリを削除します

<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

コンプリートweb.configは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

RC1: RC1を使用しているときに、ソリューションフォルダーを移動した後にエラーが発生しました。binobjフォルダを削除した後、すべてが再び機能しました。
user764754が指摘したように、Visual Studioを再起動するだけでも効果があります。


新しいホスティングモデルでは、web.configをまったく使用せず、完全に削除できます。IISをある程度バイパスしているため、httpPlatformHandlerとStartup.csはweb.configに取って代わります。
シグニム2015年

2
1.0.0-beta8を最初にインストールした後、最新のテンプレートを使用してから、VS 2015で新しいASP.NETプロジェクトを作成します。すべてのエントリは正しいですが、それでもDomyseeと同じエラーが発生します。「%DNX_PATH%」と「%DNX_ARGS%」の意味を誰かが説明してもらえますか?
okieh

1
明確にする必要があります。プロジェクトにweb.configは必要ありません。最小限のweb.configファイルがコンパイル中に生成され、基本的にはHttpPlatformHandlerをパイプラインに追加して、トラフィックをIISからKestrelサーバーに転送します。つまり、web.configファイルがありますが、プロジェクトのコードベースでは必要ありません。
シグニム2015年

3
VSを再起動するだけで、RC-1で削除できました。削除は必要ありません。
user764754

2
私はRC1で同じ問題を抱えていましたが、解決策は(wwwrootの)web.configを削除することでした
rad

30

この問題を抱えている他の人のために、他の解決策が機能しない場合-私はこのスレッドで答えを見つけました: SSLの使用を強制する:アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました

プロジェクトがSSLを使用または適用している場合、最初にデバッグせずにそれを実行します(CTRL + F5)。ローカルSSL証明書を生成するように求められます。その後、デバッグが機能し、エラーが発生しなくなります。


これで解決しました。証明書がインストールされていない新しいコンピューターにプロジェクトを移行しました。ありがとう。
ペース

いいですね。「Facebookを使用した認証の有効化...」ページで、SSLの強制が指示に含まれているので、これに注意します。
N8allan 2016年

CTRL + F5を実行しても機能しません。これ実行した後、F5は私のiisエクスプレス証明書を信頼するように機能しました。警告はありませんでしたが、これで修正されました。
Josh Close

11

価値があるのは、これは一般的なエラーメッセージであり、httpPlatformHandlerが指定の実行可能ファイル(この場合はdnx)を起動できないという問題がいくつもあると、その原因となる可能性があります。

私の場合、launchSettings.jsonファイルを誤解した直接的な結果としてこのエラーを受け取りました。アプリケーションでhttpsエンドポイントを有効にしようとして、誤ってapplicationUrlのsslportを複製しました。私が理解しているように、applicationUrlはアプリケーションのhttpホスト名/ポートである必要があり、sslPortに入力することで、sslPortで提供されるポートのapplicationUrlで指定されたホスト名でhttpsをリッスンするようにIIS Express環境を構成します。

例えば:

  "iisSettings": {
     "windowsAuthentication": false,
     "anonymousAuthentication": true,
     "iisExpress": {
       "applicationUrl": "http://localhost:44000",
       "sslPort": 44300
      }
  }

localhostに次の2つのエンドポイントを提供します。

  • ポート44400経由のHTTP
  • ポート44300を介したHttps

applicationUrlとsslPort設定で同じポートを使用すると、このスレッドに関連するエラーが発生します。

これはRC1の私にも当てはまります


sslPortがapplicationUrlと異なる必要があるのはなぜですか?以前はRTMまで機能していました...
Boris Lipschitz '28

エラーが発生しました:Webサーバー 'IIS Express'に接続できません。「\。vs \ config \ applicationhost.configファイル」を削除した後、「試行中にエラーが発生しました...」というエラーが発生しました。プロジェクトのプロパティ>デバッグで、SSLのチェックを外し、デバッガーを実行(機能)し、SSLを再度チェックして、URLを「アプリのURL」にコピーしました。SSLモードでのデバッグが再び機能します。エラーはWindowsの更新後に表示されましたが、それが原因かどうかは不明です。私のiisSettingsは "iisExpress":{"applicationUrl": " localhost:44369 "、 "sslPort":44369} ..ポート番号が同じでない場合に機能します
JimiSweden

6

アップグレードすることは可能です。新しい更新されたテンプレートをここで確認する必要がありまし

wwwrootのweb.configを更新して、以下を含めます。

<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>

また 、project.jsonを変更して、Kestrelを使用したプロジェクトのデバッグ方法を変更する必要があります。

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
  "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}

そしてあなたのhosting.iniを修正する

server=Microsoft.AspNet.Server.Kestrel

そしてこれをstartup.csのConfigureメソッドに追加します

// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler(); 

これらの参照を追加すると、プロジェクトを実行できるようになります。


5

プロジェクト構成がhttpではなくhttps:// localhostを起動しようとしたため、この問題が発生しました。「デバッグ」の下のWebプロジェクトを右クリックし、「アプリのURL」をhttpsではなくhttpに調整します。 ここに画像の説明を入力してください

これを回避する別の方法は、ランチャーを「IIS Express」から「Web」に切り替えることでした。


3

Visual Studioの場合:

このチュートリアルを実行しているときに、同様のエラーが発生しました。

最初に、「dotnet.exeのプロセスIDを特定しようとしてエラーが発生しました...」というエラーを受け取りました。次の手順を実行しました。

  1. CTRL + F5をデバッグせずにアプリケーションを起動しました。
  2. 次に、localhostの自己署名証明書を受け入れるオプションが表示されました。
  3. プロンプトに従って、プロジェクトのデバッグ設定でSSLを有効にした後にコピーしたAppUrlを使用してアプリケーションにアクセスできました。

そのエラーを解決するためにいくつかのことを試みている間、私はこのエラーにも遭遇しました。「アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました」

これは、アプリケーションの別のインスタンスが実行されていることが原因でした。

この回答が誰かのお役に立てば幸いです。


待ってください、それで答えは「アプリケーションの別のインスタンスを実行していることが原因」ですか?これはすぐにもっと明白になるはずです。
2016年

2

私の場合、ASPネットコア1.1、.NETフレームワーク4.5.2プロジェクトでは、dnxに関するエラーはありませんでした。代わりに、プロジェクト名はexeでした。エラーの別のバージョンは、単にiis expressに接続できないことを示していました。

問題は、すべての接続がwwwで始まるホスト名を持つように強制する正規のホスト名書き換えルールの導入でした。たとえば、ssl証明書に準拠するためにgty.orgをwww.gty.orgにリダイレクトします。これは本番環境では問題ありませんが、https:// localhost:44347 /強制的にwwwで始めて、iis expressで処理できるようにすることはできません。

<rule name="CanonicalHostNameAddwww" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">        
        <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}{HTTP_URL}"  appendQueryString="false" redirectType="Permanent" />
</rule>

解決策は、Visual Studioで実行するときにルールをコメント化するか、条件を追加することでした。

<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />

2

インストールに応じてSSLを有効にしてIIS Expressを実行していると仮定すると、IIS Express開発証明書( "localhost"に発行/ "localhost"から発行)を[Local Computer \ Personal \ Certificates]または[Local Computer \ Trusted Root Certification \ Certificates]。それらの1つは動作するはずです。(Windows 10 + VS2015を使用)。HTH


IIS Express開発証明書をローカルコンピューター\信頼されたルートの証明書\証明書に追加すると、うまくいきました。ありがとう!(他の誰にとっても、私の場合、既にローカルコンピューター\個人\証明書に証明書がありました)
David Aleu

1

無効なエントリがないかweb.configファイルを確認してください。たとえば、「entityFramework」タグがあると、この問題が発生します。


1

設定を切り替えるときにこの問題が発生し、[プロジェクト]> [プロパティ]> [デバッグ]で[ 匿名認証を有効にする]を無効にしました。有効になっていることを確認してください。 プロジェクトを閉じて再起動してから、再試行してください。お役に立てれば。


同じ問題がありましたが、匿名を有効にするだけでなく、匿名認証またはWindows認証を有効にする必要がありました。両方が偽の場合、エラーが発生しました。
birken25

1

RC1とEFファーストコードアプローチを使用しました。調査を開始する良いアイデアは、オプションでプロジェクトを実行することです:「デバッグせずにプロジェクトを開始する」(Ctrl + F5)。次に、「セクション宣言がないため、構成セクション 'entityFramework'を読み取れません」という、より意味のあるエラーが表示されます。web.configファイルが原因で、動作しませんでした。


1
  1. dnvmを更新する
  2. dnvmのデフォルトとしてglobal.json sdkバージョンを変更する
  3. project.jsonやproject.lock.jsonを変更する必要はありません

0

beta7-> beta8からアップグレードすると、この問題が発生し、Ben MとDomyseeからの提案が役に立ちました。しかし、私の同僚の1人は、ターゲットdnxcore50のみのプロジェクトの実行にまだ問題を抱えていました。次のコマンドを実行したことを確認した場合:

dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86

それを彼のマシンに固定したのは、特に2番目のコマンドでした。このフォルダにがあることを再確認することもできますdnx.exe

%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin

0

これを引き起こしているもう1つの問題を発見しました!

web.configプロジェクトのルートには、HTTPSを適用するためのいくつかの危険なIIS URL書き換えルールがありました。それらのルールを削除することで問題は解決しました。


0

このエラーを引き起こす可能性のあるものは非常にたくさんあります。ここに私のために働いたいくつかがあります:

  1. ただ、削除web.config、あなたの中にwwwrootフォルダ。コンパイル時に正しく再作成されます。
  2. あなたが使用しようとしている場合はSSL、あなたにIIS Express、あなたを動かすSSL CertにはTrusted Root Certification Authorities、フォルダ動作しませんでした。実行しようとしているプロジェクトののDebugタブPropertiesEnable SSLチェックボックスをオフにしてからもう一度クリックして有効にし、別のポートを取得します。これを数回行う必要がある場合があります。

0

別の潜在的な解決策
SSL設定で遊んでいる誰にとっても、launchSettings.jsonファイルのSSLポートを別の近くのポートに変更するだけで問題が解決することがわかりました。

ちなみに、元のポートを使用しているマシンでは何も見つからず、ポートの使用エラーも発生しませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.