回答:
私にとって、問題はVisual Studioを閉じて削除することで解決しました
project.lock.json
Visual Studioを再起動します。
編集:私はRC1を使用していました。
project.lock.json
?
マイクロソフトは、リリースノートに記載されているように、ホスティングモデルを変更しました。
で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を使用しているときに、ソリューションフォルダーを移動した後にエラーが発生しました。bin
とobj
フォルダを削除した後、すべてが再び機能しました。
user764754が指摘したように、Visual Studioを再起動するだけでも効果があります。
この問題を抱えている他の人のために、他の解決策が機能しない場合-私はこのスレッドで答えを見つけました: SSLの使用を強制する:アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました
プロジェクトがSSLを使用または適用している場合、最初にデバッグせずにそれを実行します(CTRL + F5)。ローカルSSL証明書を生成するように求められます。その後、デバッグが機能し、エラーが発生しなくなります。
価値があるのは、これは一般的なエラーメッセージであり、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つのエンドポイントを提供します。
applicationUrlとsslPort設定で同じポートを使用すると、このスレッドに関連するエラーが発生します。
これはRC1の私にも当てはまります
アップグレードすることは可能です。新しい更新されたテンプレートをここで確認する必要がありました。
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();
これらの参照を追加すると、プロジェクトを実行できるようになります。
プロジェクト構成がhttpではなくhttps:// localhostを起動しようとしたため、この問題が発生しました。「デバッグ」の下のWebプロジェクトを右クリックし、「アプリのURL」をhttpsではなくhttpに調整します。
これを回避する別の方法は、ランチャーを「IIS Express」から「Web」に切り替えることでした。
このチュートリアルを実行しているときに、同様のエラーが発生しました。
最初に、「dotnet.exeのプロセスIDを特定しようとしてエラーが発生しました...」というエラーを受け取りました。次の手順を実行しました。
そのエラーを解決するためにいくつかのことを試みている間、私はこのエラーにも遭遇しました。「アプリケーションをホストしているDNXプロセスのプロセスIDを特定しようとしてエラーが発生しました」
これは、アプリケーションの別のインスタンスが実行されていることが原因でした。
この回答が誰かのお役に立てば幸いです。
私の場合、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" />
インストールに応じてSSLを有効にしてIIS Expressを実行していると仮定すると、IIS Express開発証明書( "localhost"に発行/ "localhost"から発行)を[Local Computer \ Personal \ Certificates]または[Local Computer \ Trusted Root Certification \ Certificates]。それらの1つは動作するはずです。(Windows 10 + VS2015を使用)。HTH
無効なエントリがないかweb.configファイルを確認してください。たとえば、「entityFramework」タグがあると、この問題が発生します。
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
このエラーを引き起こす可能性のあるものは非常にたくさんあります。ここに私のために働いたいくつかがあります:
web.config
、あなたの中にwwwroot
フォルダ。コンパイル時に正しく再作成されます。SSL
、あなたにIIS Express
、あなたを動かすSSL Cert
にはTrusted Root Certification Authorities
、フォルダ動作しませんでした。実行しようとしているプロジェクトののDebug
タブProperties
。Enable SSL
チェックボックスをオフにしてからもう一度クリックして有効にし、別のポートを取得します。これを数回行う必要がある場合があります。