File.Copy一直试图通过在我的C驱动器中查找服务器URL来寻找它

问题描述 投票:1回答:1

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

“ IOException:文件名,目录名或卷标签语法不正确:'C:\ Software \ DRAT \ DRAT \ https:\ ags-iv-engrpub \ svn \ SoftwareReleaseTool \ Trunk \ ReleaseNotesTemplates \ ReleaseNotes1.docx'

我希望文件名是

“ https:\ ags-iv-engrpub \ svn \ SoftwareReleaseTool \ Trunk \ ReleaseNotesTemplates \ ReleaseNotes1.docx”

第一部分,“ C:\ Software \ DRAT \ DRAT \”是项目所在的目录。我不知道为什么它继续在此目录中查找服务器链接。

我在运行函数之前观察局部值,它们是正确的。我得到

https://ags-iv-engrpub/svn/Fusion/Main\Releases\Notes\VCM-1.1.43-SoftwareReleaseNotes.docx

用于notes.ReleaseNotesPath和

https://ags-iv-engrpub/svn/SoftwareReleaseTool/Trunk/ReleaseNotesTemplates/ReleaseNotes1.docx

for templatePath。

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

这里是称为的file.copy函数:

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

templatePath由用户填写,我输入“ https://ags-iv-engrpub/svn/SoftwareReleaseTool/Trunk/ReleaseNotesTemplates/ReleaseNotes1.docx”notes.ReleaseNotesPath在此处定义:

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

buildFiles [0]的一部分是“ https://ccsvn.irco.com/svn/FusionTest/Main

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

c#
1个回答
1
投票

File.Copy仅在本地文件系统中有效。您应该尝试类似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");
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.