-1

メソッドを使用しDirectory.getLastWriteTimeUtc()ます。このメソッドのパスが長すぎる場合は、PathTooLongException. そこで、この問題の解決策を見つけるために Google を使い始めました。いくつかの検索結果から\\?\、接頭辞として使用するように勧められました。Windows Explorer を使用すると、このソリューションは完全に機能します。ただし、Visual Basic では機能しません。このプレフィックスをパスに追加すると、ArgumentExceptionはパス内の不正な文字であるため、結果は になります。

そこで、Visual Basic で長いパスを処理するための解決策があるかどうかお聞きしたいと思います。

問題の原因となるコードのスニペットは次のとおりです。フォルダーの最新のファイルを取得するために使用されます。

あっ、すみません。もちろん、問題の原因となっているコードのスニペットをお見せします。

Try
If Directory.GetLastWriteTimeUtc(s) > Directory.GetLastWriteTimeUtc(latest) Then
latest = s
End If
Catch e As PathTooLongException
 Console.WriteLine("error...")
End Try
4

1 に答える 1

0

Delimon.Win32.IOライブラリを に置き換えることで問題を解決しましたSystem.IO。これで、このような長いパスを処理できます。後で誰かを助けることができることを願っています。

于 2013-08-28T08:43:28.123 に答える