2008-11-14 48 views

回答

3

您可以:

  1. 創建一個新的AppDomain加載組件(和AppDomain的基本目錄設置爲包含所有的組件的目錄)。
  2. 附加一個處理程序AppDomain.AssemblyResolve以幫助CLR找到程序集的依賴關係。
  3. 您可能可以將有問題的目錄添加到要探測的路徑列表中。但是,它需要駐留在應用程序目錄下的某個位置。有關更多信息,請參閱probe元素。
0

你可以嘗試使用類似這樣的

string myDll = string.Empty; 
string location = Assembly.GetExecutingAssembly().Location; 
if (location != null) 
{ 
    myDll = string.Format(@"{0}\my.assembly.name.dll", location.Substring(0, location.LastIndexOf(@"\"))); 
} 

這東西應該得到其中的組件運行的物理目錄。這可能在Windows .NET臨時目錄中。但是,由於文件處於相同的級別,因此它們應該並排存在。

0

如果使用assembly.loadfrom,則可以指定程序集的文件路徑。

負載從上下文允許從一個路徑加載的 組件不 包括在探測,並且還允許發現 並加載該路徑上 依賴性因爲路徑 信息由保持 上下文。

0

從引用dll的文件夾執行程序也可以解決問題。

相關問題