substで作ったdriveに対してDirectory.GetDirectoriesすると例外が発生する
Win7Pro+Visual Studio Community 2013で以下のようなcodeを書いたところD driveに対する処理で例外が発生して取得できません。解決のためにご助力ください。
Cは通常のHDD、DはCの任意のpathをsubstで仮想driveとしたものです。
subst d: c:\tmp\d
static void Main(string[] args) { string drvC = "c:\\"; string drvD = "d:\\"; var foldersC = Directory.GetDirectories(drvC); var foldersD = Directory.GetDirectories(drvD); // DirectoryNotFoundException発生 }
上記のようなC#のcodeを実行すると、D driveに対しての処理を行うところで例外が発生してしまいます。
同じことを、Win7Pro+Visual Studio Pro 2013環境で実行してみたところ例外が発生しませんでした。
おそらくCommunityに依存していると思うのですが、Proで実現できていることからどうにか対処できないかと悩んでおります。
正直、どうアプローチして良いかも分からず、半分途方に暮れています。何かご存知の方が居られましたら、教えていただけるとありがたいです。
場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 場所 System.IO.FileSystemEnumerableIterator`1.CommonInit() 場所 System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) 場所 System.IO.Directory.GetDirectories(String path) 場所 ConsoleApplication1.Program.Main(String[] args) 場所 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart()