我在我的應用程序中創建了一個appDomain,其中的基本目錄與我的應用程序目錄不同,但它在應用程序下。我在創建的域中加載了一個程序集,並從該域創建對象實例。然後我嘗試執行該對象的方法。但我觀察到一個奇怪的行爲。默認的搜索基目錄不是appDomain.BaseDirectory?
public class Class1 : MarshalByRefObject
{
public void action()
{
Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory);
TextReader sr = new StreamReader(File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "\\test.txt"));
Console.WriteLine(sr.ReadToEnd());
}
}
在appDomain.BaseDirectory下有一個'test.txt'文件。但是如果我只給出文件名,應用程序仍會嘗試從應用程序執行目錄中搜索文件,但無法找到該文件。
如何確保在另一個域中執行的代碼使用基本目錄作爲默認搜索路徑。
感謝您的建議:) – davidshen84 2010-10-28 03:19:30
@david - 閱讀此:http://blog.stackoverflow.com/2010/10/vote-early-vote-often/ – 2010-10-28 12:53:44