我想访问不同的Windows共享,而不必先将它们安装在Linux下。
如果这不起作用,那么我将处于“动态”挂载或卸载状态...
在Windows(dotnet核心3.1)下,我可以毫无问题地访问Windows共享,如以下测试程序所示:
using System;
using System.Net;
namespace HelloWorld1
{
class Program
{
static void Main(string[] args)
{
string Server = "192.168.70.204";
Console.WriteLine($"Server: {Server}");
NetworkCredential NetCredential = new NetworkCredential("user", "password", "domain");
CredentialCache Netcache = new CredentialCache();
Netcache.Add(new Uri($"//{Server}/Dokumente"), "Basic", NetCredential);
string[] Directories = System.IO.Directory.GetDirectories($"//{Server}/Dokumente");
foreach (var dir in Directories)
{
Console.WriteLine(dir);
}
}
}
}
这在Linux下不起作用。出现以下错误消息:
Server: 192.168.70.204
Unhandled exception. System.IO.DirectoryNotFoundException: Could not find a part of the path '/192.168.70.204/Dokumente'.
at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
at System.IO.Enumeration.FileSystemEnumerator`1.Init()
at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
at System.IO.Enumeration.FileSystemEnumerableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
at System.IO.Directory.GetDirectories(String path)
at HelloWorld1.Program.Main(String[] args) in C:\Daten\Visual Studio\Projects\Tests\dotnetcore\HelloWorld1\HelloWorld1\Program.cs:line 18
Aborted (core dumped)
Linux不喜欢什么?该程序在WSL2(Ubuntu 20.04)下运行。
非常感谢!
René