我讓我的MEF特定DLL是這樣的:目錄根文件夾有空間時找不到相對MEF路徑?
string exeFile = (new Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
string exeDir = Path.GetDirectoryName(exeFile);
using (DirectoryCatalog catalog = new DirectoryCatalog(Path.Combine(exeDir,"Custom")))
{
using (CompositionContainer container = new CompositionContainer(catalog))
{
container.ComposeParts(this);
}
}
而這個作品,如果我在發展,但如果我建,採取將生成輸出,並把它稱爲c:\test 1
文件夾中,當我運行它說它找不到c:\test 1\custom
目錄。
在爲EXE
我發現同樣的路徑Custom
文件夾,它只是無法找到它,如果directoy有一個像test 1
中有空格,但它正常工作,如果它僅僅是test1
如果我有一個空間中運行它,我得到的錯誤:
Could not find part of the path 'C:\TEST%202\CUSTOM\'.
我仍然得到同樣的錯誤。 – Xaisoft
什麼會告訴你這個代碼?字符串absolutePath =(new Uri(Assembly.GetEntryAssembly()。CodeBase))。AbsolutePath; string location = Assembly.GetEntryAssembly()。Location; Console.WriteLine(「AbsolutePath:{0}」,absolutePath); Console.WriteLine(「Location:{0}」,location); – kmatyaszek
對於absolutePath,我得到了'c:\ test%202 \ test.exe'和位置我得到'c:\ test 2 \ test.exe',所以基於這個,我應該使用Location嗎?有什麼不同? – Xaisoft