2009-09-21 2 views
1

.NET Framework 3.5에서 C#을 사용하여 응용 프로그램을 개발하고 있습니다. 응용 프로그램에서 여러 dll (또한 C#에서 개발 된)에서 여러 개체를 사용하여 리플렉션을 사용하여 만듭니다.System.Security.Permissions.MediaPermission dll에서 이미지로드시 예외

private AApplication BuildApplication(string path) 
    { 
     Assembly appAssembly = Assembly.LoadFrom(path); 
     Type[] typeArray = appAssembly.GetTypes(); 
     foreach (Type t in typeArray) 
     { 
      if (typeof(AApplication).IsAssignableFrom(t)) 
      { 
       ConstructorInfo ci = t.GetConstructor(new Type[0]); 
       AApplication app = ci.Invoke(null) as AApplication; 
       return app; 
      } 
     } 
     return null; 
    } 

추상 클래스 AApplication는 자원과 같은 이미지가 (AppsLibrary라는 이름의) 또 다른 라이브러리에있는 모든이 추상 클래스 (AApplication)를 확장 오브젝트.

protected BitmapImage GetImage(string path) 
    { 
     BitmapImage bmp = new BitmapImage(); 
     bmp.BeginInit(); 
     bmp.UriSource = new Uri(path, UriKind.RelativeOrAbsolute); 
     bmp.CacheOption = BitmapCacheOption.OnLoad; 
     bmp.CreateOptions = BitmapCreateOptions.None; 
     bmp.EndInit(); 
     return bmp; 
    } 

문제 : I는 다른 DLL에서 예외 AApplication에서 파생 된 클래스에서이 방법 (된 GetImage)를 호출 할 때 발생

을이 클래스는 이미지를로드하는 간단한 방법이있다 'System.Security.Permissions.MediaPermission, WindowsBase, Version = 3.0.0.0, Culture = 중립, PublicKeyToken = 31bf3856ad364e35'.

System.Security.CodeAccessSecurityEngine.Check (개체 수요, StackCrawlMark & stackMark, 부울 isPermSet) MS.Internal.PresentationCore.SecurityHelper.DemandMediaPermission (MediaPermissionAudio audioPermissionToDemand, MediaPermissionVideo videoPermissionToDemand 엔 System.Security.CodeAccessPermission.Demand() 엔 System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream (URI 기저 URI, URI 우리당 스트림 스트림 BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy EN System.Windows.Media.Imaging.BitmapDecoder.DemandIfImageBlocked() EN, MediaPermissionImage imagePermissionToDemand) , Boolean insertInDecoderCache) 한국 (한국어)

이 이상한 것은 예외 만에 발생되는 System.Windows.Media.Imaging.BitmapImage.EndInit() 엔 AppsLibrary.AApplication.GetImage (문자열 경로) 엉 .Media.Imaging.BitmapImage.FinalizeCreation() 일부 컴퓨터. 아이디어가 있으십니까?

+0

웹 또는 창? –

답변

1

오류는 전체/부분 신뢰와 관련이 있습니다. 좀 더 자세한 정보를 제공 할 수 있습니까? 파일을로드하는 위치 등?

+0

프로그램의 단순화 구조이다 Windows.xaml (하나 개의 프로젝트) UserControl.xaml (다른 프로젝트) AAplication (다른 프로젝트) 메소드가 BuildApplication Windows.xaml의 프로젝트에, 상기 방법은 인 된 GetImage AAplication 클래스이며 UserControl 클래스에서 사용됩니다. – Matias