我開始調試到POS庫使用反射Pro和發現有人陷在這種方法:
private static ServiceObjectCollection ScanFolder(string path, Dictionary<string, string> posAssemblies)
{
Logger.Info("AssemblyLoader", "Scanning folder " + path + " for SO assemblies.");
ServiceObjectCollection serviceobjects = new ServiceObjectCollection();
DirectoryInfo info = new DirectoryInfo(path);
Logger.Info("AssemblyLoader", "Enumerating files in " + path);
foreach (FileInfo info2 in info.GetFiles())
{
LoadFile(info2, posAssemblies, serviceobjects);
}
Logger.Info("AssemblyLoader", "Leaving ScanFolder.");
return serviceobjects;
}
凡試圖加載每個組件的工作目錄進行掃描於POS對象..它在試圖加載我們的應用程序也使用的舊的Managed DirectX庫時掛起。
應用此問題的修復:Managed DirectX running from .Net Framework 4.0 app dont hunt解決了問題。我們已經使用這個技巧來使用.NET 4的MDX,但是我沒有在這種情況下應用app.config設置,因爲我正在編寫一個獨立的應用程序來熟悉PoS ......沒有預料到我將嘗試加載DirectX :)
可能也想看看http://blog.lavablast.com/post/2011/06/06/Using-Microsoft -POS-for-NET-in-2011.aspx有關.NET 4中的.NET for POS可能出錯的更多信息 – 2011-06-06 15:57:02