2013-10-21 122 views
0

爲了避免必須在我的exe文件中包含兩個程序集,我已將它們作爲嵌入式資源包含在我的WPF應用程序中。現在,我可以做這個加載第一組件:從資源加載多個程序集

static Assembly ResolveAssembly(object sender, ResolveEventArgs args) 
{ 
    string resourceName = "someDLLfileInResources"; 
    using (Stream stream = parentAssembly.GetManifestResourceStream(resourceName)) 
    { 
     byte[] block = new byte[stream.Length]; 
     stream1.Read(block, 0, block.Length); 
     return Assembly.Load(block); 
    } 
} 

這工作,並計劃將沒有第一個DLL運行。現在,如果我重複第二個DLL文件的過程,它將不再運行沒有第一個(但我不必包括第二個)。所以它似乎只能在最後加載的程序集上工作。我做錯了嗎?

謝謝

+0

不要在問題標題中重複標記。謝謝。 –

+0

這兩個程序集之間是否存在任何依賴關係? –

+0

你有沒有考慮過使用ILmerge? – Reda

回答

0

你怎麼「重複」這個過程?我看到一個靜態的方法,如果它被調用了兩次,你會覆蓋你的第一個程序集嗎?

還是你調用這個方法一次,處理這兩個dll的?因爲您在課程結束時只返回1個程序集...