5

Mỗi khi tôi chạy Update-Database từ bảng điều khiển quản lý gói, Visual Studio 2015 bị lỗi. Nó xảy ra để chạy cấu hình Migrations Migration của tôi vào thời điểm đó. Bất kỳ ý tưởng nơi tôi nên tìm để tìm hiểu những gì đang xảy ra?Visual Studio 2015 bị lỗi mỗi khi tôi chạy Update-Database

+0

Nếu điều này có thể giúp: https://social.msdn.microsoft.com/Forums/en-US/29ef381f-f465-463c-b64b-aed07d07ac63/vs2012-package-manager-crashes-on-updatedatabase-using- thực thể-đầu tiên-mã-di chuyển-với-hạt giống? diễn đàn = adodotnetentityframework –

+1

chụp một bãi chứa (http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx, http://msdn.microsoft.com/ en-us/library/bb787181% 28VS.85% 29.aspx) của VS2015 bị rơi. Mở đổ sụp đổ trong windbg, sửa chữa các biểu tượng gỡ lỗi (http://stackoverflow.com/a/30019890/1466046), chạy **! Phân tích -v ** và đăng đầu ra. – magicandre1981

+1

Tôi tìm thấy bài đăng này: [link] (http://stackoverflow.com/questions/17169020/debug-code-first-entity-framework-migration-codes) và nó đã giúp tôi gỡ lỗi phương pháp Seed của tôi mà đã ném một ngoại lệ unhandled . Tôi sẽ thử đề nghị của bạn @ magicandre1981 để xem lý do tại sao mà sẽ mang lại xuống VS, tuy nhiên. – jlavallet

Trả lời

2

Có một cơ hội không tầm thường là sự cố là do mã của dự án chứ không phải là hoạt động bên trong của Visual Studio.

Như suggested by m_david in a question linked by the OP, bước đầu tiên là thêm đoạn mã sau vào đầu Seed() ¹:

if (System.Diagnostics.Debugger.IsAttached == false) 
{ 
    System.Diagnostics.Debugger.Launch(); 
} 

này sẽ gây ra một prompt² xuất hiện mà sẽ hỏi liệu để khởi động các chương trình gỡ rối trong một trường hợp mới của Visual Studio hoặc người khác hiện đang chạy một.

Sau đó, đầu ra của trình gỡ lỗi sẽ được ghi vào Đầu ra gỡ lỗi của trường hợp VS đó và các ngoại lệ chưa được xử lý sẽ được coi là điểm ngắt - với làm nổi bật dòng mã vi phạm, chi tiết ngoại lệ và tất cả.

Trong trường hợp của tôi, sự cố được gây ra bởi thao tác đệ quy set() trong thành viên của một trong các thực thể, dẫn đến StackOverflowException.


¹ Hoặc hàm tạo DbMigrationsConfiguration của lớp con, nếu sự cố xảy ra trước đó. Hoặc có thể một số nơi khác.

² Vì vậy, hãy nhớ nhận xét mã đó ra khi bạn không cần.

+0

Cảm ơn, điều này thực sự hữu ích! Vấn đề là một vấn đề xác nhận trong một cột mới mà tôi đã thêm vào một trong các bảng. Nó không hiển thị cho đến khi tôi thêm mã này. – Sam

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