2015-07-11 32 views
23

Tôi có một vấn đề C# rất đơn giản tải một cửa sổ WPF Windows từ một thư viện. Dưới đây là các mã:LoadFromContext Đã xảy ra

public partial class App : Application 
{ 
    public App() 
    { 
     MainWindow mainWindow = new MainWindow(); 
     mainWindow.Show(); 
    } 
} 

Nhưng khi tôi chạy nó phá vỡ trên dòng mainWindow.Show(); với các lỗi sau:

Managed Debugging Assistant 'LoadFromContext' has detected a problem in 'C:\Users.....\bin\Debug\Test.vshost.exe'.

Additional information: The assembly named 'WpfXamlDiagnosticsTap' was loaded from 'file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO 14.0/COMMON7/IDE/COMMONEXTENSIONS/MICROSOFT/CLIENTDIAGNOSTICS/XAMLDIAGNOSTICS/x64/WpfXamlDiagnosticsTap.dll' using the LoadFrom context.

The use of this context can result in unexpected behavior for serialization, casting and dependency resolution. In almost all cases, it is recommended that the LoadFrom context be avoided. This can be done by installing assemblies in the Global Assembly Cache or in the ApplicationBase directory and using Assembly.Load when explicitly loading assemblies.

Lớp MainWindow chỉ kéo dài từ System.Windows.Window; Tôi không chắc chắn chính xác những gì các phương tiện này và cách giải quyết. Chỉ cần nâng cấp lên Visual Studio 2015.

enter image description here

enter image description here

Nếu tôi bỏ qua những ngoại lệ và tiếp tục tôi có được điều này khi tôi đóng cửa sổ cuối cùng:

enter image description here

+0

Kể từ năm 2015 vẫn chưa được phát hành ... điều này có xảy ra vào năm 2013 không? – OmegaMan

+0

@OmegaMan, nó không, nhưng không chắc chắn nếu a) Tôi bỏ qua ngoại lệ trong năm 2013, b) tạo ra điều này với nâng cấp, c) có một lỗi trong năm 2015, hoặc d) tất cả mọi thứ là giống như trước, nhưng 2015 có một ngoại lệ mới. Không có vấn đề gì, tôi vẫn không hiểu ý nghĩa của nó và/hoặc cách khắc phục nó. – Jason

+0

Khi bạn nói nó * phá vỡ *, bạn có nghĩa là nó phá vỡ trong trình gỡ lỗi hoặc khi chạy bên ngoài trình gỡ lỗi, * nó ném * ngoại lệ này? Ngoài ra, bạn có thể tạo một ứng dụng thử nghiệm nhỏ và xuất bản mã ở đây để chúng tôi có thể thử tạo lại không? – OmegaMan

Trả lời

39

Tôi chạy vào cùng một vấn đề sau khi chuyển đổi từ Visual Studio 2013 sang 2015. Một số dự án cũ (WPF, .NET 4.5, MVVM Light) tạo ra lỗi này - khác không t. Trong Visual Studio tôi có thể bỏ qua ngoại lệ nhưng các bản phát hành mới được tạo ra dừng lại trong khi tải và cố gắng mở Trình gỡ lỗi JIT.

Cho đến nay giải pháp duy nhất có vẻ là một rollback để Visual Studio 2013.

** CẬP NHẬT **

Cuối cùng tôi giải quyết nó trong VS 2015 bằng cách bỏ chọn tùy chọn sau đây:

Công cụ -> Tùy chọn -> Gỡ lỗi -> Chung -> Bật công cụ gỡ lỗi giao diện người dùng cho XAML

+0

Siêu! Đó là nó! Cảm ơn bạn ;-) – peter70

+3

Không phải điều này chỉ ngăn chặn thông báo lỗi? Một cái gì đó vẫn tạo ra những ngoại lệ này. – hughes

2

Trong VS2015 tôi nhận được hai excep tions từ WpfXamlDiagnosticsTap.dll

  1. Đầu tiên là "LoadFromContext" và nó xảy ra khi kích hoạt cửa sổ đầu tiên.
  2. Câu hỏi thứ hai là "Không tương thích" và nó xảy ra khi đóng cửa sổ đó.

Đơn giản chỉ cần bỏ qua hai loại Ngoại lệ này cho phép tôi chạy ứng dụng và sử dụng các công cụ Gỡ lỗi giao diện người dùng. Tôi đã không quan sát thấy bất kỳ tác dụng phụ.

7

tôi tất cả một "Restore Settings" Nút đột ngột bắt đầu nhìn thấy lỗi này trong VS2015 và cố định nó bằng cách mở "ngoại lệ Settings" Window (CTRL + ALT + E) và nhấn:

enter image description here

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