2010-06-10 4 views
4

내 수업용 라이브러리는 .NET 2.0 용으로 컴파일되며 2.0 런타임에서 플러그인으로로드하려고 할 때마다 정상적으로 작동합니다. 마스터 응용 프로그램이 .NET 4.0 런타임을 실행하지만, 난 즉시 자원에 액세스 할 필요가 같은 예외를 얻을 :.NET 2.0 대 .NET 4.0 로딩 오류

Exception occurred during processing of command: Grasshopper 
Plug-in = Grasshopper 
Could not find file 'Grasshopper.resources'. 

CALL STACK 
at System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark) 
at System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark) 
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark) 
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark) 
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) 
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream) 
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture) 
at Grasshopper.My.Resources.Resources.get_GrasshopperBannerImage_Palette() in D:\dev\grasshopper\1.0\root\src\My Project\Resources.Designer.vb:line 1159 
at Grasshopper.GUI.GH_Banner.ExplicitBanner_Load(Object sender, EventArgs e) in D:\dev\grasshopper\1.0\root\src\GH_Banner.vb:line 14 
.... 

이야 어떻게 내가 모든 .NET 런타임에 내 프로젝트로드를해야합니까 무엇 ?

편집 : "Grasshopper.resources"를로드하라는 메시지가 표시 될 때 혼란스러워하는 AssemblyResolver 문제가있었습니다. NET 4.0은 이전 런타임과 다르게 리소스로드를 처리하는 것 같습니다. ??? AssemblyResolver에 자원 어셈블리에 대한 테스트를 추가

+3

그것은 .NET입니다. DotNet이 아닙니다. –

답변

4

는 문제를 해결하고 나를 모두 .NET 2.0과 4.0에서이 클래스 라이브러리를 실행할 수 있습니다 :

private Assembly ResolveGrasshopper(object sender, ResolveEventArgs e) 
{ 
    if (e.Name.Contains(".resources,")) { return null; } 
    .... 
} 
+0

다음 주셔서 감사합니다. – Greg