Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何生成驻留在另一台计算机上的文件的路径_C#_Visual Studio 2010_Path - Fatal编程技术网

C# 如何生成驻留在另一台计算机上的文件的路径

C# 如何生成驻留在另一台计算机上的文件的路径,c#,visual-studio-2010,path,C#,Visual Studio 2010,Path,我从本地网络的另一台PC上的数据库加载数据,它工作得非常好 我只需输入服务器名和数据库路径,就可以了 现在我还在服务器上的文件夹中查找最新修改的文件,它在本地pc上运行良好,但当我使用服务器名称加路径时,它会生成与可执行文件夹路径连接的路径 string tmpPath=string.Empty; if (serverName != "") { tmpPath = "\\" + serverName + "\\" + TrackingPath + "\\u00" + ID; }

我从本地网络的另一台PC上的数据库加载数据,它工作得非常好

我只需输入服务器名和数据库路径,就可以了

现在我还在服务器上的文件夹中查找最新修改的文件,它在本地pc上运行良好,但当我使用服务器名称加路径时,它会生成与可执行文件夹路径连接的路径

string tmpPath=string.Empty;
if (serverName != "")
  {
   tmpPath = "\\" + serverName + "\\" + TrackingPath + "\\u00" + ID;
  }
在这之后,我只是简单地读取文件夹以获得最新修改的文件

但路径变为…Debug\servername\trackingpath。。。。。这是错误的

示例

Servename=testServer
TrackingPath= TmpFolder\SharedFolder\TrackingFolder
因此,根据我的代码,它应该变成
\\testServer\\TmpFolder\SharedFolder\TrackingFolder
,而不是
project..\Debug\\\testServer\\TmpFolder\SharedFolder\TrackingFolder
因此,我如何从testserver中读取此文件夹来处理路径文件,并记住反斜杠是C#中的一个特殊字符,用于转义其他字符。所以你需要

string ID = "test";
string TrackingPath = "tracking";
string serverName = "server_name";
string tmpPath=string.Empty;
if (serverName != "")
{
    tmpPath = Path.Combine(@"\\", serverName, TrackingPath ,"u00" + ID);
}
Console.WriteLine(tmpPath);
若要在字符串中插入反斜杠,需要将其加倍或以

使用3.5框架及以下版本

    tmpPath = Path.Combine(Path.Combine(Path.Combine(@"\\", serverName), TrackingPath) ,"u00" + ID);

嗯,效率不是很高,但很有效

我们需要更多细节。这是调试的时候吗?什么是
serverName
?什么是跟踪路径?为什么不使用Path.Combine<代码>http://msdn.microsoft.com/en-us/library/system.io.path.combine.aspx@Arran更新了我的描述。如中所示,
serverName
TrackingPath
的值来自哪里?他们被传进来了吗?它们放在哪里?它们是如何设置的?如中所示,向我们展示设置它们的实际代码。这些参数来自数据库,它们始终是serverName=abc,跟踪路径开始,如我在示例中所述。它表示只能将2个参数传递给path.CombineNo,检查更好您可以传递一个数组->错误5方法“Combine”不重载需要4个参数我正在使用…3.5问题不是路径错误等,问题是它在调试文件夹中查找路径!它应该在哪里使用servername+跟踪路径。这就是问题所在。需要4.0,好的,你可以分成三个单独的通话