【发布时间】:2017-09-08 16:17:21
【问题描述】:
我创建了一个 WinForms 应用程序,其中包含用于查找用户桌面并执行 3 个任务的代码: 1.创建文件夹 2. 读取 .csv 文件 3. 将一些数据输出到桌面的.csv文件中。
我正在使用下面的代码来查找用户的桌面
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
我使用 ClickOnce 部署将程序安装到我们的网络驱动器。该程序安装成功,但是每当有人尝试从他们的终端运行该程序时,他们都会收到一条错误消息,指出“目录名称无效”,并且它引用了我的桌面而不是用户的桌面。
我应该如何更改我的代码或部署方法以使其引用用户的桌面?
【问题讨论】:
-
在下面查看我的答案。
-
您能否准确说明“何时”引发此错误?您的问题涉及“有人尝试安装”,但您的错误消息引用了代码(这意味着在运行时抛出异常?)。请更新问题以明确这一点。
-
@Znaneswar 您的答案将不起作用,因为该程序正在引用一个不属于网络位置或其他用户的目录。如果文件路径位于 `\Users` 目录中,我希望它也会崩溃。
-
@Subbu - 为了清楚起见,我对其进行了编辑。您是正确的,异常是在运行时引发的。
-
当你说它引用我的桌面时,你是指用于开发应用程序的电脑的桌面还是网络驱动器上的桌面?另外,(愚蠢但必须检查)网络驱动器是另一台机器上的实际驱动器,还是“您的”电脑上共享到网络的驱动器?
标签: c# deployment clickonce