2013-05-23 32 views
27

Khi tôi đang sử dụng một ứng dụng web, các dòng mã dưới đâyexePath phải được xác định khi không chạy bên trong một độc lập exe

Configuration objConfig = 
    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

trong thư viện lớp đang đưa ra lỗi này:

"exePath must be specified when not running inside a stand alone exe."

Trước đây, ứng dụng bảng điều khiển đang được sử dụng và mã có thể truy cập vào app.config. Tôi đã thử sử dụng System.Web.Configuration trong thư viện lớp nhưng dll không có trong tab .Net cho "Thêm tham chiếu".

Vui lòng trợ giúp :)

+0

Bạn đang sử dụng phiên bản .NET Framework nào? – wgraham

+0

@wgraham Ứng dụng web nằm trong .net 4.0 và các thư viện lớp học nằm trong 3.5 –

+0

Đây có phải là thư viện lớp mà bạn có nguồn hoặc thư viện của bên thứ ba không? – BozoJoe

Trả lời

2

Tôi không chắc bạn đang làm gì; nhưng ngay từ cái nhìn đầu tiên, có vẻ như bạn đang cố gắng sử dụng mã được viết cho một ứng dụng WinForms trong môi trường web. Điều này gần như chắc chắn sẽ không hoạt động, vì ứng dụng web của bạn sẽ không có quyền bạn cần.
Hãy thử tìm cách làm điều này trong môi trường web (vì bạn có vẻ đang xử lý các tệp cấu hình, hãy thử tìm kiếm trên WEB.CONFIG để bắt đầu)

+0

Điều này giúp tôi đi đúng hướng để giải quyết vấn đề tôi đang gặp phải. Tôi đã bỏ lỡ một số phần trong web.config của tôi – Ju66ernaut

36

Bạn cần sử dụng trình quản lý cấu hình khác trong ngữ cảnh web. Đoạn mã sau đây hiển thị ví dụ về cách xử lý vấn đề này:

System.Configuration.Configuration configuration = null;   
if (System.Web.HttpContext.Current != null) 
{ 
    configuration = 
     System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
} 
else 
{ 
    configuration = 
     ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
} 
Các vấn đề liên quan