首页 > 解决方案 > File.Copy 不断尝试通过在我的 C 驱动器中查找来查找服务器 url

问题描述

我正在尝试运行 File.Copy 函数,以便可以使用模板文件,我必须制作一个新的 Word 文档,代码将填写该文档。每当代码到达 file.copy 函数时,我都会收到错误消息

“IOException:文件名、目录名或卷标语法不正确:'C:\Software\DRAT\DRAT*serverpath*\SoftwareReleaseTool\Trunk\ReleaseNotesTemplates\ReleaseNotes1.docx'”

我希望文件名是

"服务器路径\SoftwareReleaseTool\Trunk\ReleaseNotesTemplates\ReleaseNotes1.docx"

第一部分“C:\Software\DRAT\DRAT\”是项目所在的目录。我不知道为什么它一直在这个目录中寻找服务器链接。

我在函数运行之前观察本地值,它们是正确的。我明白了

" serverpath /Fusion/Main\Releases\Notes\VCM-1.1.43-SoftwareReleaseNotes.docx"

对于 notes.ReleaseNotesPath 和

“服务器路径/SoftwareReleaseTool/Trunk/ReleaseNotesTemplates/ReleaseNotes1.docx

对于模板路径。

如果我使用本地驱动器上相同文件的路径,它可以工作,但我需要使用 SVN 服务器链接,以便我的同事可以从他们的计算机访问相同的文件。

这是调用的 file.copy 函数:

File.Copy(templatePath, notes.ReleaseNotesPath, true);

templatePath 由用户填写,我在此处输入“ serverpath /SoftwareReleaseTool/Trunk/ReleaseNotesTemplates/ReleaseNotes1.docx” notes.ReleaseNotesPath 在这里定义:

notes.ReleaseNotesPath = buildFiles[0] + @"\Releases\Notes\VCM-" + model.ReleaseVersion + "-SoftwareReleaseNotes.docx";

它的 buildFiles[0] 部分是“ serverpath /FusionTest/Main”

我应该制作新的 word 文档,但每次我都会收到相同的 IOException。

标签: c#

解决方案


File.Copy only works in your local file system. You should try something like System.Net.WebClient.DownloadFile

e.g:

using (var client = new WebClient())
{
    client.DownloadFile("https://ags-iv-engrpub/svn/SoftwareReleaseTool/Trunk/ReleaseNotesTemplates/ReleaseNotes1.docx", "ReleaseNotes1.docx");
}

推荐阅读