Tôi bị kẹt! điều này có vẻ thực sự daft nhưng tôi không thể nhìn thấy nơi tôi đang đi sai. Tôi đang tạo một trang web 2.0 C# ASP.NET. Tôi đang cố gắng sử dụng phần tùy chỉnh trong tệp web.config với:C# ConfigurationManager.GetSection không thể tải tệp hoặc lắp ráp
DatabaseFactorySectionHandler sectionHandler = ConfigurationManager.GetSection("DatabaseFactoryConfiguration") as DatabaseFactorySectionHandler;
Tôi có một DLL riêng biệt cho các đối tượng nằm trong không gian tên Bailey.DataLayer. Nhưng khi tôi chạy trang test.aspx tôi nhận được lỗi sau:
System.Configuration.ConfigurationErrorsException was unhandled by user code
Message="An error occurred creating the configuration section handler for DatabaseFactoryConfiguration: Could not load file or assembly 'Bailey.DataLayer' or one of its dependencies. The system cannot find the file specified. (C:\\Documents and Settings\\Administrator.PIP\\My Documents\\Visual Studio 2005\\WebSites\\bailey\\web.config line 13)"
Source="System.Configuration"
Lớp mà tôi đang cố gắng để có được như sau: tập tin cấu hình
namespace Bailey.DataLayer
{
public sealed class DatabaseFactorySectionHandler : ConfigurationSection
{
[ConfigurationProperty("Name")]
public string Name
{
get { return (string)base["Name"]; }
}
[ConfigurationProperty("ConnectionStringName")]
public string ConnectionStringName
{
get { return (string)base["ConnectionStringName"]; }
}
public string ConnectionString
{
get
{
try
{
return ConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString;
}
catch (Exception excep)
{
throw new Exception("Connection string " + ConnectionStringName +
" was not found in web.config. " +
excep.Message);
}
}
}
}
}
Các web có phần này:
<configSections>
<section name="DatabaseFactoryConfiguration"
type="Bailey.DataLayer.DatabaseFactorySectionHandler, Bailey.DataLayer" />
</configSections>
Tôi đã thực hiện việc này trong ứng dụng bảng điều khiển mà không gặp sự cố nhưng không thể thấy bất kỳ khác biệt nào ngoài việc ở trong trang web.
EDIT
Tất cả biên dịch và ném các lỗi khi chạy vì vậy tôi chỉ có thể giả định nó tìm lắp ráp bởi vì nó được tham chiếu trong trang test.aspx.cs.
Tôi có tiền chỉ thị sau tuyên bố ở phía trên cùng của trang test.aspx.cs:
using Bailey.DataLayer;
Dưới đây là toàn bộ file web.config như vậy không có sự nhầm lẫn:
<configuration>
<configSections>
<section name="DatabaseFactoryConfiguration" type="Bailey.DataLayer.DatabaseFactorySectionHandler, Bailey.DataLayer" />
</configSections>
<appSettings/>
<connectionStrings>
<add name="BaileyMDFConString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bailey.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<DatabaseFactoryConfiguration Name="System.Data.SqlClient" ConnectionStringName="BaileyMDFConString" />
<system.web>
<compilation debug="true"/>
<authentication mode="Windows"/>
</system.web>
</configuration>
Bản thân phần cấu hình tùy chỉnh thực tế ở đâu? –
Cũng có vấn đề của bạn ... Bạn không thực sự có phần tùy chỉnh. –
Có ở đó, nhưng tôi không thể lấy XML từ tệp cấu hình để hiển thị chính xác hoặc ngay bây giờ! – Jon