2015-06-03 19 views
22

Quay lại những ngày sử dụng các phiên bản cũ hơn của Visual Studio và ASP.NET có thể chỉnh sửa mã trong khi bạn đang gỡ lỗi (ngay cả với một số hạn chế).Cách chỉnh sửa và tiếp tục trong ASP.Net MVC 6

Làm cách nào tôi có thể bật chỉnh sửa và tiếp tục sử dụng ASP.Net/VNext (MVC 6) với VS 2015 RC. Tính năng này khả dụng? Tin nhắn tôi nhận được là:

Error "Không được phép thay đổi nếu dự án không được xây dựng khi gỡ lỗi bắt đầu".

Làm cách nào để xây dựng dự án khi chế độ gỡ lỗi bắt đầu?

Trả lời

5

Chỉnh sửa và tiếp tục không hoạt động đối với ứng dụng ASP.NET 5 tại thời điểm này trong Visual Studio 2015, nhưng được lên kế hoạch hỗ trợ trong bản phát hành cuối cùng năm 2015.

Để biết thêm thông tin về VS2015 ENC thay đổi, có một cái nhìn tại blog entry này: http://blogs.msdn.com/b/visualstudioalm/archive/2015/04/29/net-enc-support-for-lambdas-and-other-improvements-in-visual-studio-2015.aspx

+1

David, mọi cập nhật khi Chỉnh sửa và Tiếp tục sẽ tự giới thiệu? Tôi đã thử dnx-watch và nó không hoạt động. Những gì làm việc là nodemon, nhưng khởi động lại cuộc gọi web dnx là abysmally chậm. Đây có thể không phải là nơi tốt nhất để hỏi điều này, nhưng nó có giá trị một shot. –

+0

@StuartAllen Bất kỳ thông tin may mắn hoặc thông tin mới nào? Google không giúp đỡ nhiều. –

+0

@StuartAllen Tôi đoán ENC sẽ có sẵn trong phiên bản RTM của ASP.NET 5 hoặc có thể là một trong các phiên bản RC tiếp theo. Trong RC1 nó vẫn không hoạt động. Mặc dù đây là suy đoán, nhưng tôi cũng không tìm thấy bất kỳ thông báo chính thức nào. –

6

tôi đã Edit, Continue để làm việc trong VS 2015 về dự án ASP.Net MVC 4 của tôi. David R đăng một liên kết trong câu trả lời của mình (ở đây một lần nữa cho đầy đủ)

http://blogs.msdn.com/b/visualstudioalm/archive/2015/04/29/net-enc-support-for-lambdas-and-other-improvements-in-visual-studio-2015.aspx

Trang nói rằng VS2015 hỗ trợ Sửa Tiếp tục trên Đính kèm To Process nếu một biến môi trường được thiết lập trong quá trình tải của runtime. Cách tôi hiểu nó là biến này có trong CLR để phân bổ một chút bộ nhớ bổ sung cần thiết cho Chỉnh sửa và Tiếp tục hoạt động.

Bây giờ, mẹo là để có được quá trình w3wp.exe chạy hồ bơi ứng dụng của bạn để tải với biến này. Trong bất kỳ quy trình nào khác, tôi chỉ cần mở một dòng lệnh và làm

set COMPLUS_FORCEENC=1 
ExeToDebug.exe 

Nhưng tôi không thể tìm cách chạy trực tiếp ứng dụng của mình với biến môi trường. Tôi đăng một workaround (như CSUdev) trên trang này, đó là một hack nhỏ mà thiết lập một biến môi trường mức máy, reset iis, gọi một url khởi động pool ứng dụng, sau đó xóa biến môi trường mức máy. http://forums.iis.net/p/1195182/2115550.aspx?p=True&t=635895941266217500

OP trong chủ đề đó cho biết ông đã từng làm việc này trong các phiên bản trước của IIS bằng cách đặt biến môi trường cho hồ sơ người dùng mà hồ bơi ứng dụng sau đó sẽ tải khi hồ sơ người dùng được tải. để làm việc trong IIS8 (có thể liên quan đến các thiết lập bảo mật WS2012/Win8 trong hệ điều hành).

tldr; đây là cách tôi đã nhận nó làm việc

Wrote kịch bản dơi ...

#set Edit n Continue variable (global... :/) 
setx /m COMPLUS_FORCEENC 1 

#kill/restart existing app pools 
iisreset 

#force app pool to start up (and use the Edit & Continue var) 
#you can download wget or curl (instead of start) 
#if you don't want this to open up your default browser every time 
start "http://localhost/urlForAspNetApp" 

#clear Edit n Continue var 
setx /m COMPLUS_FORCEENC "" 

Sau đó VS2015 đính kèm để xử lý w3wp.exe. Bam. Chỉnh sửa và tiếp tục. Cảm ơn MS & VS2015 folks!

+0

chuột ... và bạn có thể đoán từ câu trả lời của tôi, điều này đã được sử dụng. Net 4.5 ... không chắc chắn làm thế nào điều này sẽ làm việc trên. Net Core, và asp.net lõi, vv ... nhưng hy vọng điều này vẫn còn hữu ích để người nào. – matrixugly

+1

Mặc dù đã thử mọi thứ ở đây http://stackoverflow.com/questions/1010213/edit-and-continue-changes-are-not-allowed-when-the-debugger-has-been-attached, Chỉnh sửa và Tiếp tục không hoạt động cho tôi. Tuy nhiên kịch bản của bạn làm cho nó hoạt động :) Điều duy nhất tôi phải làm là để đảm bảo theo Công cụ> Tùy chọn> Gỡ lỗi> Chung> "Yêu cầu tệp nguồn chính xác khớp với phiên bản gốc" được bỏ chọn. –

+0

Đáng buồn thay, nó không hoạt động cho tôi. Tôi đã xác minh biến env đã được đặt, tôi đã bỏ chọn "Yêu cầu tệp nguồn để khớp chính xác với phiên bản gốc" và tôi đã chuyển loại dự án thành x86. Tuy nhiên, không thành công. Tôi chỉ có thể làm cho nó hoạt động với IIS Express. – DenNukem

1

Tôi có ASP.NET MVC5 và nhận ra rằng nếu bạn sử dụng IIS Express "Edit, Continue" hoạt động khá nhiều ra khỏi hộp.

Với "Local IIS" nó không hoạt động, không thử cài đặt "COMPLUS_FORCEENC" từ bài đăng của ma trận mặc dù.

Đã kết thúc chuyển sang IIS Express để gỡ lỗi vì điều này.

Các vấn đề liên quan