Tôi đang sử dụng biểu thức loại:Làm thế nào là một trong những nghĩa vụ phải sử dụng F # SqlDataConnection TypeProvider với một tập tin App.Config?
type dbSchema = SqlDataConnection<ConnectionStringName="X1", ConfigFile="App.config">
này hoạt động tuyệt vời tại thời gian biên dịch (Tôi có thể truy cập vào tất cả các loại db), nhưng nó không thành công tại thời gian chạy. Tôi đoán đó là vì tệp cấu hình được tạo trong thư mục bin
của ứng dụng bảng điều khiển được đặt tên khác, chẳng hạn như MyAppName.exe.config
và do đó không tìm thấy tệp App.config
.
Chắc chắn, đối với ứng dụng loại ASP.NET MVC sử dụng web.config
, không có vấn đề gì vì tên tệp cấu hình và biên dịch thời gian chạy giống nhau.
May mắn thay, đặt một bản sao App.config
trong thư mục bin
sẽ khắc phục sự cố, nhưng đó có phải là những gì chúng tôi dự kiến sẽ làm không? Có suy nghĩ gì không?
Đây là cách sao 'App.config' hoạt động. Đây là lần đầu tiên được tìm kiếm cho một hội nghị kêu gọi cấp cao nhất. Xem [this Q] (http://stackoverflow.com/questions/3569336/visual-c-sharp-app-config-file-for-a-referenced-assembly) để biết chi tiết. Cũng lưu ý rằng 'App.config' thực sự được đổi tên thành' MyAppName.exe.config' trong suốt thời gian xây dựng và bạn có thể cần phải gọi đúng tên vừa tạo của bạn. – bytebuster
@bytebuster Đó chắc chắn là sự thật. Tuy nhiên, nhà cung cấp loại SqlDataConnection dường như không nhận thức được thực tế này và vẫn nhấn mạnh vào tệp "app.config" để ở đó, ngay cả khi 'ConfigFile' không được chỉ định rõ ràng (trong trường hợp đó app.config nên được sử dụng như mặc định.) – afrischke
Tôi đã tự nghĩ về điều này. Có thể bạn sẽ tìm thấy câu hỏi và câu trả lời này hữu ích: http://stackoverflow.com/a/19459561/952606 – spacedoom