Câu trả lời:
Đối với tôi, vấn đề đã được giải quyết bằng cách đóng Visual Studio, xóa
project.lock.json
và khởi động lại Visual Studio.
Chỉnh sửa : Tôi đã sử dụng RC1.
project.lock.json
?
Microsoft đã thay đổi mô hình lưu trữ như được mô tả trong ghi chú phát hành .
Thay project.json
thế sự phụ thuộc
"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"
với
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"
Trong web.config
trong handlers
phần loại bỏ tất cả các mục trừ
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
Toàn bộ web.config
sẽ trông như thế này:
<?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: Trong khi sử dụng RC1, tôi đã gặp lỗi sau khi di chuyển thư mục giải pháp. Sau khi xóa thư mục bin
và obj
mọi thứ hoạt động trở lại.
Như user764754 đã lưu ý, chỉ cần khởi động lại Visual Studio cũng có thể hữu ích.
Đối với những người khác gặp sự cố này, trong trường hợp các giải pháp khác không hoạt động - tôi đã tìm thấy câu trả lời trong chủ đề này: Buộc sử dụng SSL: Đã xảy ra lỗi khi cố gắng xác định id quy trình của quy trình DNX lưu trữ ứng dụng của bạn
Tôi dự án của bạn sử dụng hoặc thực thi SSL, hãy chạy nó mà không cần gỡ lỗi (CTRL + F5) trước tiên, nó sẽ yêu cầu bạn tạo chứng chỉ SSL cục bộ và sau đó việc gỡ lỗi sẽ hoạt động và lỗi sẽ biến mất.
Đối với những gì đáng giá, đây là một thông báo lỗi chung có thể đóng vai trò như một con cá trích đỏ cho bất kỳ vấn đề nào trong đó httpPlatformHandler không thể khởi chạy tệp thực thi đã cho (dnx trong trường hợp này).
Trong trường hợp của tôi, tôi nhận được lỗi này do hiểu nhầm tệp khởi chạySettings.json. Tôi đang cố kích hoạt điểm cuối https cho ứng dụng của mình và đã sao chép nhầm sslport trong applicationUrl của mình. Theo tôi hiểu thì applicationUrl phải là tên máy chủ / cổng http của ứng dụng và bằng cách điền vào sslPort, nó chỉ định cấu hình môi trường IIS Express để lắng nghe https trên tên máy chủ được cung cấp trong applicationUrl trên cổng được cung cấp trong sslPort.
Ví dụ:
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:44000",
"sslPort": 44300
}
}
Cung cấp hai điểm cuối sau trên localhost.
Nếu bạn có cùng một cổng trong cài đặt applicationUrl và sslPort, bạn sẽ nhận được lỗi liên quan đến chuỗi này.
Điều này đúng với tôi trên RC1
Có thể nâng cấp, tôi thấy tôi đã phải xem qua các mẫu cập nhật mới ở đây .
Cập nhật web.config của bạn trong wwwroot để bao gồm:
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
Bạn cũng sẽ cần thay đổi cách dự án gỡ lỗi bằng Kestrel bằng cách sửa đổi dự án của bạn.json:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}
và sửa đổi hosting.ini của bạn
server=Microsoft.AspNet.Server.Kestrel
và thêm điều này vào phương thức Định cấu hình trong startup.cs
// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler();
thêm các tham chiếu này sẽ cho phép bạn chạy dự án.
Tôi gặp sự cố này do cấu hình dự án đang thử khởi chạy https: // localhost thay vì http. Nhấp chuột phải vào dự án web, trong "Gỡ lỗi" và điều chỉnh "URL ứng dụng" thành http thay vì https.
Một cách khác để giải quyết vấn đề này là chuyển trình khởi chạy từ "IIS Express" sang "Web"
Trong khi làm theo hướng dẫn này, tôi đã gặp lỗi tương tự.
Đầu tiên, tôi nhận được lỗi: "Đã xảy ra lỗi khi cố gắng xác định id quy trình của dotnet.exe ..." Tôi đã thực hiện các bước sau.
Trong khi thử một số cách để giải quyết lỗi đó, tôi cũng đã gặp lỗi này. "Đã xảy ra lỗi khi cố gắng xác định id quy trình của quy trình DNX lưu trữ ứng dụng của bạn"
Nguyên nhân là do có một phiên bản ứng dụng khác đang chạy.
Tôi hy vọng câu trả lời này sẽ giúp ai đó.
Trong trường hợp của tôi trong dự án asp net core 1.1, .net framework 4.5.2, lỗi không tham chiếu đến dnx vì điều đó không còn nữa. Thay vào đó, nó đề cập đến tên dự án exe. Một phiên bản khác của lỗi chỉ đơn giản là không thể kết nối với iis express.
Vấn đề là sự ra đời của quy tắc ghi lại tên máy chủ chuẩn cố gắng buộc tất cả các kết nối phải có tên máy chủ bắt đầu bằng www. ví dụ: chuyển hướng gty.org đến www.gty.org để tuân theo chứng chỉ ssl của chúng tôi. Điều này là tốt trong sản xuất nhưng bạn không thể buộc https: // localhost: 44347 / bắt đầu bằng www và hy vọng iis express có thể xử lý nó.
<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>
Giải pháp là nhận xét ra quy tắc khi chạy trong studio trực quan hoặc thêm một điều kiện:
<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />
Giả sử bạn đang chạy IIS Express với SSL Enabled tùy thuộc vào cài đặt của bạn, bạn sẽ phải đặt Chứng chỉ phát triển IIS Express của mình (Được cấp cho "localhost" / Được cấp bởi "localhost") trong [Máy tính cục bộ \ Cá nhân \ Chứng chỉ] hoặc [Máy tính cục bộ \ Chứng nhận gốc đáng tin cậy \ Chứng chỉ]. Một trong số đó sẽ hoạt động. (Sử dụng Windows 10 + VS2015). HTH
Kiểm tra tệp web.config để tìm các mục nhập không hợp lệ. Ví dụ: có thẻ "entityFramework" ở đó gây ra sự cố này cho tôi.
Tôi đã gặp sự cố này khi chuyển đổi cài đặt và đã tắt tùy chọn " Bật xác thực ẩn danh " trong Dự án> Thuộc tính> Gỡ lỗi. Đảm bảo rằng nó đã được bật. Đóng và khởi chạy lại dự án, sau đó thử lại. Hi vọng điêu nay co ich.
Tôi đã sử dụng Phương pháp tiếp cận mã đầu tiên RC1 và EF. Ý tưởng tốt để bắt đầu điều tra là chạy dự án với tùy chọn: "Bắt đầu dự án mà không gỡ lỗi" (Ctrl + F5). Sau đó, tôi nhận được lỗi có ý nghĩa hơn đối với tôi: "Không thể đọc phần cấu hình 'entityFramework' vì nó thiếu phần khai báo." Nó không hoạt động với tôi do tệp web.config.
Khi nâng cấp từ beta7 -> beta8, tôi gặp sự cố này và các đề xuất do Ben M và Domysee cung cấp đã phù hợp với tôi. Tuy nhiên, một trong những đồng nghiệp của tôi vẫn gặp sự cố khi chạy dự án dnxcore50
chỉ nhắm mục tiêu của chúng tôi . Nếu bạn chắc chắn rằng bạn đã chạy các lệnh sau:
dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86
Đặc biệt đó là lệnh thứ hai đã sửa nó trên máy của anh ấy. Bạn cũng có thể kiểm tra kỹ thư mục này có chứa dnx.exe
:
%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin
Có rất nhiều thứ có thể gây ra lỗi này. Dưới đây là một số hiệu quả đối với tôi:
web.config
trong wwwroot
thư mục của bạn . Nó sẽ được tạo lại một cách chính xác khi biên dịch.SSL
và trong của bạn IIS Express
và di chuyển của bạn SSL Cert
vào Trusted Root Certification Authorities
thư mục không hoạt động. Trong Debug
tab của Properties
dự án bạn đang cố gắng chạy. Hãy thử bỏ nhấp vào Enable SSL
hộp kiểm và sau đó nhấp lại vào hộp kiểm để bật nó và nhận một cổng khác. Bạn có thể phải làm điều này một vài lần.Một giải pháp tiềm năng khác
Đối với bất kỳ ai chơi với cài đặt SSL, tôi thấy chỉ cần thay đổi cổng SSL trong launchSettings.json
tệp thành một cổng lân cận khác đã giải quyết được vấn đề.
FYI, tôi không thể tìm thấy bất kỳ thứ gì trên máy bằng cổng gốc cũng như không gặp lỗi cổng đang sử dụng.