에 의해라는 닷넷 COM 개체에서 나는 .NET COM 개체를 인스턴스화하고하고 ConfigurationManager.AppSettings 및 ConfigurationManager.ConnectionStrings를 업데이 트하려는 동안 ConfigurationManager.App/ConnectionSettings을 편집하려면 어떻게 속성 조립 설정 파일에 설정이 있어도 알 수있었습니다. "ComLib.dll.config" 런타임에는 이러한 설정을 사용할 수 없습니다.나는 ASP 고전 웹 페이지
Dim COMObject
Set COMObject = Server.CreateObject("COMAPI.COMObject")
내 .NET의 COM 개체의 생성자를 한 단계 내 VS2010 디버거를 사용 (COMAPI.COMObject :
나는 다음을 사용하여 ASP 클래식 웹 페이지에서 COM 개체를 생성하기 위해 전화를 걸). 이것은 내가로드 된 내용을 확인하기 위해 ConfigurationManager을 조사한 것입니다.
모두 "Assembly.GetExecutingAssembly" 및 "Assembly.GetCallingAssembly"은 "ComLib.dll" 어셈블리 등록 위치의 전체 경로 동일한 결과를 갖는다. 나는 그것이 무엇을 기대하고있다. 또한이 위치에는 "ComLib.dll.config" 파일이 있는데이 파일은 ConfigurationManager으로 전달되지 않습니다.
나는 예외가 발생 다음 명령을 사용하여 appSettings는을 취소 할 때 :
ConfigurationManager.AppSettings.Clear();
는 예외입니다 : : "서버 객체 006 ~ ASP 0177 ~ Server.CreateObject를가 ~ 80131902 실패"
내 생각에 위의 예외는 "AppSettings는 읽기 전용 임"이라는 ASP 클래식 해석이지만 100 % 확실하지는 않습니다.
나는 항목을 설정 ConfigurationManager.AppSettings로 부가 appSettings는 각 통해 실행 후 "ComLib.dll.config" 파일을로드하고로 이동하지만 그뿐만 아니라 예외가 발생 무엇 : "서버 개체 : 006 ~ ASP 0177 ~ Server.CreateObject가 실패했습니다 ~ 80131902".
Assembly comApiAssembly = Assembly.GetExecutingAssembly(); string comApiLocation = comApiAssembly.Location; configuration = null; configuration = ConfigurationManager.OpenExeConfiguration(comApiLocation); var toLoadEnumberable = configuration.AppSettings.Settings.GetEnumerator(); while (toLoadEnumberable.MoveNext()) { var current = (KeyValueConfigurationElement)toLoadEnumberable.Current; ConfigurationManager.AppSettings.Add(current.Key, current.Value); }
나는 다른 .NET에 대한 호출을 만드는 데 사용됩니다이 .NET COM LIB로 의 ConfigurationManager 내 구성 정보에 대한 자세한 내용은 다음과 같이 나는 .NET COM 개체에서 사용하는 코드는 어셈블리. 다른 .NET 어셈블리에는 구성이 필요합니다.
미리 감사드립니다.