app.config tập tin của tôi là như sau:ConfigurationManager.GetSection Cho Lỗi "Không thể tải loại .... từ lắp ráp ..."
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" />
</configSections>
<ProcessConfiguration>
<processes>
<process name="Process1" />
</processes>
</ProcessConfiguration>
</configuration>
Tôi có các lớp học (riêng biệt) sau đây để có được cấu hình:
namespace Configuration
{
using System.Configuration;
public class ProcessesConfigurationSection : ConfigurationSection
{
[ConfigurationProperty("processes", IsDefaultCollection = false)]
[ConfigurationCollection(typeof(ProcessCollection))]
public ProcessCollection Processes
{
get
{
return (ProcessCollection)base["processes"];
}
}
}
}
namespace Configuration
{
using System.Configuration;
public class ProcessCollection : ConfigurationElementCollection
{
public ProcessConfig this[int index]
{
get
{
return (ProcessConfig)BaseGet(index);
}
set
{
BaseAdd(index, value);
}
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((ProcessConfig)element).Name;
}
protected override ConfigurationElement CreateNewElement()
{
return new ProcessConfig();
}
}
}
namespace Configuration
{
using System.Configuration;
public class ProcessConfig : ConfigurationElement
{
[ConfigurationProperty("name", IsRequired = true, IsKey = true)]
public string Name
{
get
{
return (string)this["name"];
}
set
{
this["name"] = value;
}
}
}
}
Tuy nhiên khi tôi nhấn dòng mã này:
var processConfigurationSection = ConfigurationManager.GetSection("ProcessConfiguration") as ProcessesConfigurationSection;
tôi nhận được lỗi trong đó nêu:
xảy ra lỗi khi tạo phần xử lý cấu hình cho ProcessConfiguration: Không thể tải loại 'Configuration.ProcessConfigurationSection' từ lắp ráp 'Cấu hình'.
Tôi hoàn toàn bối rối, nếu có ai có thể giúp tôi, tôi thực sự đánh giá cao điều đó.
Bạn sẽ muốn gỡ lỗi điều này bằng cách sử dụng [Trình xem nhật ký kết hợp.] (Http://msdn.microsoft.com/en-us/library/e74a18c4.aspx) Chỉ cần đảm bảo chạy nó dưới dạng quản trị viên, bật nhật ký và khởi động lại trước khi cố gỡ lỗi. Bạn sẽ thấy nơi CLR đang tìm kiếm hội đồng, và phiên bản nào, và từ đó xác định lý do tại sao nó không được tìm thấy, nếu đó là vấn đề. – Will
tên của DLL bạn đang xây dựng là gì? –
Loại của bạn 'ProcessesConfigurationSection' có được định nghĩa trong assembly không? –