2015-08-20 13 views
5

Tôi có một dự án C# với hai hình thức. Tất cả các biên dịch đều tốt. Khi tôi chạy dự án, tất cả các biểu mẫu được rút ra như mong đợi.Visual Studio Design View - mẫu trống

Một vài ngày trước, DesignView của tất cả các hình thức bắt đầu không hiển thị gì ngoài một biểu mẫu trống, giống như biểu mẫu bạn nhận được trong dự án Windows.Forms mới.

tôi đã đi qua một số câu hỏi về SO với một vấn đề tương tự, đây là những ý kiến ​​cho những câu hỏi:

  1. không có thư viện của bên thứ 3 mà sử dụng dự án của tôi (ngoài HtmlAgilityPack, mà không gây ra điều này vấn đề trong các dự án Windows.Forms C# khác)
  2. Tôi đã kiểm tra chức năng InitializeComponent chỉ một lần trong dự án cho mỗi hình thức
  3. Khi tôi tạo một Dự án mới và thêm biểu mẫu hiện có (ví dụ: một trong các biểu mẫu dự án có vấn đề của tôi), Trình xem thiết kế hoạt động như mong đợi - do đó tôi nghi ngờ rằng .cs, .Design Các tệp er.cs và .resx của biểu mẫu của tôi là OK.

Có điều gì mà tôi có thể gặp phải trong cài đặt dự án hoặc ở nơi khác không?

EDIT

Điểm thứ ba trên là sai lầm - Tôi cố gắng tạo ra một dự án mới cho hình thức thứ hai là tốt và có vấn đề tồn tại. Số lượng tối thiểu của mã nguồn cho thấy vấn đề là để được tìm thấy here.

+0

Bạn có một hàm tạo tham số không gọi là 'InitializeComponent'? – stuartd

+0

@stuartd: Có, cả hai biểu mẫu chỉ có các hàm tạo tham số. Mỗi lệnh gọi 'InitializeComponent()'. –

+0

Vui lòng đăng nguồn của một biểu mẫu trong đó không có/designView trống được hiển thị. –

Trả lời

11

Tệp dự án của bạn đã trở thành không hợp lệ.

Một entry dự án có giá trị trong một hình thức trông như thế này:

<Compile Include="Form1.cs"> 
    <SubType>Form</SubType> 
</Compile> 
<Compile Include="Form1.Designer.cs"> 
    <DependentUpon>Form1.cs</DependentUpon> 
</Compile> 

Yours dù là mất tích dòng DependentUpon - đó là lý do tại sao mã và thiết kế các file xuất hiện riêng biệt trong dự án, thay vì được kết nối:

<Compile Include="mainForm.cs"> 
    <SubType>Form</SubType> 
</Compile> 
<Compile Include="mainForm.Designer.cs" /> 

Nếu bạn thêm vào dòng mất tích, hiển thị dưới dạng một cách chính xác trong chế độ thiết kế:

<Compile Include="mainForm.cs"> 
    <SubType>Form</SubType> 
</Compile> 
<Compile Include="mainForm.Designer.cs"> 
    <DependentUpon>mainForm.cs</DependentUpon> 
</Compile> 

Và để dọn dẹp các tập tin tài nguyên:

<EmbeddedResource Include="mainForm.resx"> 
    <DependentUpon>mainform.cs</DependentUpon> 
</EmbeddedResource> 

Để khắc phục điều này, bạn chỉ có thể chỉnh sửa csproj trong một trình soạn thảo, hoặc để làm điều đó trong Visual Studio:

  1. Sao lưu các file
  2. kích chuột phải vào dự án và chọn "Project Unload"
  3. kích chuột phải vào dự án dỡ và chọn "Edit [ProjectName] csproj"
  4. Thực hiện thay đổi của bạn, và clos e tệp.
  5. Kích chuột phải vào dự án dỡ và chọn "Project Nạp lại"
+0

Cảm ơn rất nhiều. Mã nguồn mà tôi đã đăng là một dự án được tạo từ đầu mà tôi vừa thêm ba tệp nguồn. Bạn có bất kỳ ý tưởng làm thế nào dự án có thể trở thành không hợp lệ? –

+1

Thật không may là tập tin dự án có phần giòn .. – stuartd

+0

Điều đó làm tôi cười :) Cảm ơn bạn nhiều stuartd. –

0

tôi giải quyết vấn đề bằng cách loại bỏ tất cả các file liên quan đến hình thức mà

  • File -> Kích chuột phải -> Loại trừ từ Dự án

và thêm các tập tin bằng tay trở lại với dự án

  • Dự án -> Thêm -> Mục hiện tại ...
0

Một khả năng khác. Tôi đã có một nhóm các hình thức tất cả các hậu duệ từ một hình thức cơ sở. Tôi đã thêm vị trí lưu/khôi phục mã - và mọi thứ đều trống.

Sau một giờ làm phiền với nó và không thể tìm thấy bất cứ điều gì sai nó đột nhiên bắt đầu ném một ngoại lệ tham chiếu null trong nhà thiết kế chứ không chỉ là trống. Duh - mã lưu/khôi phục đã sử dụng một đối tượng không tồn tại trong thời gian thiết kế.

Tại sao nó im lặng về nó và sau đó đột nhiên bắt đầu rên rỉ tôi không có ý tưởng.

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