2010-10-24 24 views

Trả lời

5

Không, không thể thực hiện được. Tệp web.config cần được đặt ở thư mục gốc của mỗi trang web. Bạn có thể có một tệp web.config chung được sao chép vào thư mục gốc của mỗi trang web dưới dạng bước xây dựng của dự án để thời gian chạy ASP.NET có thể tìm thấy nó.

8

tôi có vẻ như nó là có thể, bạn có thể thử như sau:

Bạn có thể sao chép tập tin web.config của bạn vào thư mục gốc của giải pháp của bạn. Sau đó, tạo thư mục giải pháp (không thuộc bất kỳ dự án nào của bạn) và thêm tệp của bạn vào đó (thông qua mục menu bật lên Add Existing Item). Xóa các cấu hình web khỏi các trang web của bạn. Sau đó bạn có thể chọn Add Existing Item từ trình đơn bật lên trên cả hai dự án web của bạn, chọn tệp web.config của bạn từ gốc của giải pháp và nhấp vào Add As Link. Sau đó, bạn sẽ có các liên kết đến các tệp cấu hình web của bạn thay vì các tệp thực sự trong giải pháp của bạn.

alt text

Mặt khác tôi không chắc chắn nếu chia sẻ các tập tin web.config giữa các dự án khác nhau là một ý tưởng tốt, bởi vì thường web.config có một số condifuration cụ thể cho từng ứng dụng riêng biệt.

+0

Tôi đã cố gắng làm điều này, nhưng có một cảnh báo rằng các tệp sẽ không được kiểm soát nguồn bởi vì chúng nằm ngoài gốc của dự án ràng buộc. Tuy nhiên, chúng dường như được kiểm soát nguồn, và các thay đổi/check-in dường như đang hoạt động ... không chắc chắn nếu vấn đề đó sẽ cắn tôi tại một số điểm xuống đường. –

0

Tệp Web.config chứa phần ghi đè xếp tầng của cài đặt tệp web.config cao hơn. Vì vậy, nếu bạn sẽ đặt một web.config trong thư mục gốc của IIS hoặc điều chỉnh các thiết lập trong machine.config hoặc web.config chuẩn của khung công tác .NET (C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG cho thí dụ).

Ví dụ tốt nhất có thể là sử dụng chuỗi kết nối LocalSqlServer. Nó được định nghĩa trong machine.config dưới dạng

<connectionStrings> 
    <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS; 
    Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf; 
    User Instance=true" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

Nếu bạn sử dụng điều khiển Login chẳng hạn và sẽ gỡ lỗi và yêu cầu kết nối thì gói này cũng sẽ được bao gồm.

Vì vậy, nếu bạn cần một số cài đặt chung cho nhiều ứng dụng, hãy đặt chúng trong tệp web.config đủ cao trong cấu trúc phân cấp, cuối cùng là trong machine.config.

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