Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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#_.net_Citrix - Fatal编程技术网

C# 系统诊断程序启动问题

C# 系统诊断程序启动问题,c#,.net,citrix,C#,.net,Citrix,我似乎对System.Diagnostics.Process.Start方法有一个奇怪的问题。我有一个使用3.5 SP1.NET框架的C#桌面应用程序。用户单击标签,该标签将存储在其标记中的文件夹路径作为字符串传递给函数。Windows资源管理器使用正确的文件夹启动。当此工具安装在Citrix上并通过已发布的应用程序运行时,Windows资源管理器仍将启动,但还会显示一条.NET异常消息“系统找不到指定的文件” 文件路径存在,因为它刚刚启动。好的,代码在本地登录到服务器时没有错误,它只是作为发布

我似乎对System.Diagnostics.Process.Start方法有一个奇怪的问题。我有一个使用3.5 SP1.NET框架的C#桌面应用程序。用户单击标签,该标签将存储在其标记中的文件夹路径作为字符串传递给函数。Windows资源管理器使用正确的文件夹启动。当此工具安装在Citrix上并通过已发布的应用程序运行时,Windows资源管理器仍将启动,但还会显示一条.NET异常消息“系统找不到指定的文件”

文件路径存在,因为它刚刚启动。好的,代码在本地登录到服务器时没有错误,它只是作为发布的应用程序出现错误,我的代码如下

Label label = (Label)sender;
if (label.ForeColor == Color.Blue) {
   if (System.IO.Directory.Exists(label.Tag.ToString()) == false)
   {
      MessageBox.Show("The specified folder does not exist:" + 
            Environment.NewLine + Environment.NewLine + label.Tag.ToString(), "",
            MessageBoxButtons.OK, MessageBoxIcon.Information);
      return;
   }
   System.Diagnostics.Process.Start(label.Tag.ToString()); 
}
我找到了此页面,但服务器上没有IIS

有人能帮忙吗

谢谢,
Rob

不要尝试使用文件夹名称启动进程,而是启动进程“explorer.exe”,并将文件夹名称作为命令行参数传递。您可以在此处找到explorer.exe接受的命令行参数列表:


您的意思是您已经进行了web部署,以便用户转到某个网页并单击“安装”按钮吗?不,这是一个桌面应用程序,Citrix正在将其作为已发布的应用程序发布。桌面应用程序中有链接,可在不同的文件夹位置启动Windows资源管理器。这些文件夹位于网络驱动器上。完整地址(如域名等)用于传递到启动函数。Citrix服务器可以访问文件夹区域。只需确认Windows资源管理器是否从此功能启动到正确的文件夹。Windows资源管理器启动后,将显示异常消息。
Label label = (Label)sender;
if (label.ForeColor == Color.Blue) {
   if (System.IO.Directory.Exists(label.Tag.ToString()) == false)
   {
      MessageBox.Show("The specified folder does not exist:" + 
            Environment.NewLine + Environment.NewLine + label.Tag.ToString(), "",
            MessageBoxButtons.OK, MessageBoxIcon.Information);
      return;
   }
   System.Diagnostics.Process.Start(label.Tag.ToString()); 
}