0

我的解决方案中有一个名为 Template 的文件夹。我希望将一些文件复制到其中并从中访问。我该如何设置路径?当我部署应用程序时,这个文件夹会在那里吗?

这行得通吗?

File.Move(@"DebriefReportTemplate.docx", @"~\Template\DebriefReportTemplate.docx");
4

4 回答 4

1

除非您构建设置/部署项目以在安装时创建它,或者在您的应用程序中添加代码以在第一次调用时创建它,否则它不会被创建。

于 2012-05-19T11:11:34.950 回答
0

您可以使用

    string sourceFile = Path.GetDirectoryName(Application.ExecutablePath)+@"\Template\DebriefReportTemplate.docx";
    string destinationFile = @"C:\DebriefReportTemplate.docx";

    // To move a file or folder to a new location:
    System.IO.File.Move(sourceFile, destinationFile);

参考 :

于 2012-05-19T19:46:23.397 回答
0

编辑:此答案适用于 ASP.NET 应用程序。

如果模板文件夹(包括其内容)是 Web 项目的一部分,则部署应该会自动运行。如果要在运行时将文件添加到此文件夹,可以使用

Server.MapPath(@"~\Template\DebriefReportTemplate.docx")

,但请注意,Web 应用程序通常以对本地资源具有有限访问权限的身份运行。

如果你有一个 Win 应用程序,同样的事情也适用。您需要做的是将文件夹和文件添加到项目中,作为内容。不过,您将需要一个安装项目。

于 2012-05-19T11:10:14.820 回答
0

如果您担心 Template 文件夹的存在,您可以在代码中的某个位置创建它。

string path = System.IO.Path.Combine("", "Template");
System.IO.Directory.CreateDirectory(path);

然后移动文件

File.Move(@"DebriefReportTemplate.docx", @"Template\DebriefReportTemplate.docx");
于 2012-05-19T11:23:16.263 回答