2013-02-09 27 views
5

Chúng tôi đã làm việc trên một hệ thống đặt phòng cho một công ty. Khi chúng tôi lần đầu tiên cố gắng chạy nó trên máy tính của họ, nó nói rằng chúng tôi cần tải xuống .NET Framework 4.0. Vì vậy, chúng tôi đã làm điều đó (hoặc đúng hơn là chúng tôi đã tải xuống phiên bản 4.5 vì liên kết cho 4.0 không hoạt động). Bây giờ, khi chúng tôi cố gắng chạy nó, không có gì xảy ra.Chương trình sẽ không bắt đầu mà không cần cài đặt Visual Studio?

Chúng tôi đã xây dựng chương trình trong C# bằng Entity Framework - Mã đầu tiên nếu điều đó thu hẹp nó xuống.

Chúng tôi có thiếu gì đó trong cài đặt khi xuất bản không? Chúng tôi đã cố gắng biên dịch nó trong bản phát hành và trình hướng dẫn xuất bản nhưng không hoạt động.

+0

Bạn có chắc là bạn có bản phát hành bản phát hành không? –

+0

Kiểm tra nhật ký sự kiện ứng dụng Windows của bạn. –

+0

@ ofstream/well, chúng tôi đã thay đổi từ Debug thành Release và tất cả các tệp đều nằm trong thư mục bin/Release, mà tôi chắc chắn ít nhất nhưng nếu nó thực sự là bản phát hành? Tôi không biết. – noMad17

Trả lời

1

Điều này có thể do lắp ráp bị thiếu. Trong cấu hình phát triển của bạn, bạn có tất cả các thư viện của bạn để chạy chương trình và trong triển khai, có/đang thiếu dll (s).

Những gì bạn có thể thử là kiểm soát GAC của máy phát triển và cố gắng xác định vị trí nếu có bất kỳ thư viện nào bạn đang sử dụng ngoại trừ thư viện .net được cài đặt trong GAC. Sau đó, bạn có thể đã tham khảo dll từ GAC và trong triển khai thư viện này có thể bị thiếu trong GAC. Tôi đã thấy điều này trong một dự án sharepoint trước đây.

Ngoài ra, việc kiểm tra nhật ký sự kiện cửa sổ rất hữu ích. Bạn có thể xác định vị trí ngoại lệ thực sự.

p.s. nếu đây là một dự án asp.net, đừng quên chạy regiis.exe sau khi triển khai khung công tác.

0

Nếu ứng dụng của bạn có GUI và nó không hiển thị phương tiện, ứng dụng của bạn không hoạt động trong hàm tạo. Điều tốt nhất bạn có thể làm là đăng nhập từng bước từ nhà xây dựng với một cái gì đó như thế này:

public void log(string msg) 
{ 
    StreamWriter file2 = new StreamWriter(@"c:\file.txt", true); 
    file2.WriteLine(msg); 
    file2.Close(); 
} 

và hơn gọi nó là sau mỗi dòng trong constructor như

log("InitializeComponent"); 

Nếu bạn sử dụng FormLoad sự kiện, bạn nên cũng làm điều đó ở đó. Ngoài ra, hãy kiểm tra mã của bạn để xem thử sản phẩm nào.