Chương trình không chứa phương thức 'Chính' tĩnh phù hợp với điểm vào


169

Đột nhiên, toàn bộ dự án của tôi ngừng biên dịch, hiển thị thông báo sau:

Chương trình 'path_to_obj_project_folder' không chứa phương thức 'Chính' tĩnh phù hợp với điểm vào

Tôi không thực hiện thay đổi nào cho các thuộc tính của dự án, chỉ cần thêm một số lớp, chuyển một số lớp khác vào các thư mục. Đây là một dự án Ứng dụng WPF nên tất cả đều ổn. Điểm vào là nơi cần có, tệp App.xaml hoàn toàn không được sửa đổi :(

Tôi nên làm gì để nó hoạt động trở lại?

Câu trả lời:


431

Kiểm tra các thuộc tính của App.xaml . Là Build Actionvẫn còn ApplicationDefinition?


10
Cảm ơn, điều đó đã khắc phục một phần vấn đề. Tôi đã sao chép tất cả các tập tin từ một dự án cũ sang một Windows Store Appdự án mới và nó Build Actionđã được đặt thành Pagethay vì ApplicationDefinition. Tôi quay lại ApplicationDefinition, nhưng tôi cũng phải xóa thư mục obj\Debug.
Richard H

4
+1: Tuyệt vời! Thực sự là một cứu cánh. Tôi chỉ định tạo ra một dự án mới và sao chép mọi thứ, nhưng điều này đã tạo ra mánh khóe. Tôi đã học được gì: Đừng gây rối với App.xaml ... Nó cắn.
reSPAWNed

1
Tôi cũng phải xóa thủ công obj \ Debug; RebuildTất cả đã không sửa nó, không biết tại sao ...
Jay Borseth

Vấn đề tương tự trong ứng dụng VS 2017 UWP. Việc xây dựng là để Pagethay vìApplicationDefinition
Paulustrious

2
Build Actionchuyển sang Pagekhi bạn loại trừ và bao gồm lại tệp App.xaml
CSharper

46

Có thể "Kiểu đầu ra" trong thuộc tính-> Ứng dụng của dự án phải là "Thư viện lớp" thay vì ứng dụng bàn điều khiển hoặc cửa sổ.


Khi sử dụng trình biên dịch CLI, loại đầu ra Thư viện lớp có thể được chỉ định bởi một -t:libraryđối số.
Glutexo

21

Chỉ trong trường hợp bất kỳ ai cũng gặp vấn đề tương tự ... Tôi đã gặp phải lỗi này và hóa ra đó là <Application.Resources>trong tệp App.xaml của tôi. Tôi đã có một tài nguyên bên ngoài các thẻ từ điển tài nguyên của mình và điều đó gây ra lỗi này.


Tôi đã có một biến thể hơi khác nhau. Tôi đã có các thẻ Application.Resource trống và loại bỏ các thẻ đã sửa cho tôi.
YC

6

Trong trường hợp của tôi (sau khi đổi tên không gian tên ứng dụng theo cách thủ công) tôi đã phải chọn lại đối tượng Khởi động trong thuộc tính Project.


1

Bạn cũng có thể gặp phải vấn đề này nếu bạn đang làm việc trong một dự án WPF đã được bắt đầu trong VS 2010 (Beta 1), sau đó chuyển sang VS 2008.

Trong các thuộc tính dự án, phiên bản .NET framework không được đặt (vì .NET 4.0 không hợp lệ trong VS 2008) và vì một số lý do gây ra lỗi này.

Nếu bạn đặt .NET framework (ví dụ: .NET 3.5), lỗi sẽ biến mất.


1

Chỉ trong trường hợp ai đó vẫn nhận được cùng một lỗi, thậm chí với tất cả các trợ giúp ở trên: Tôi gặp vấn đề này, tôi đã thử tất cả các giải pháp được đưa ra ở đây và tôi chỉ phát hiện ra rằng vấn đề của tôi thực sự là một lỗi khác từ danh sách lỗi của tôi (đó là về một hình ảnh bị thiếu được đặt thành màn hình giật gân của tôi. Tôi chỉ thay đổi đường dẫn của nó sang bên phải và sau đó tất cả bắt đầu hoạt động)


1

Tôi đã gặp lỗi tương tự nhưng sau đó tôi phát hiện ra rằng tôi đã gõ m nhỏ thay vì viết hoa M trong phương thức Main


Vâng, quên rằng đó là trường hợp nhạy cảm. Cảm ơn!
Emanuel Vintilă

Thay vào đó, nếu "thuộc tính" của ứng dụng của bạn đã được xác định một dự án / lớp khởi động mặc định một cách chính xác. stackoverflow.com/questions/9538404
Bimal Poudel

0

Thuộc tính dự án \ Tệp đầu ra -> Chọn Thư viện lớp :)


0

Như những gì, tôi đoán pixparker muốn nói, nhưng ít nhất vẫn chưa rõ ràng, đối với tôi, đảm bảo rằng ... Tất cả "Các dự án khác" đều có "Loại đầu ra" của "Thư viện lớp" được chọn trong khi ... Chỉ "Một dự án" được chọn làm đầu ra "Ứng dụng cửa sổ" hoặc "Ứng dụng bảng điều khiển" .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.