我的解决方案中有一个名为 Template 的文件夹。我希望将一些文件复制到其中并从中访问。我该如何设置路径?当我部署应用程序时,这个文件夹会在那里吗?
这行得通吗?
File.Move(@"DebriefReportTemplate.docx", @"~\Template\DebriefReportTemplate.docx");
我的解决方案中有一个名为 Template 的文件夹。我希望将一些文件复制到其中并从中访问。我该如何设置路径?当我部署应用程序时,这个文件夹会在那里吗?
这行得通吗?
File.Move(@"DebriefReportTemplate.docx", @"~\Template\DebriefReportTemplate.docx");
除非您构建设置/部署项目以在安装时创建它,或者在您的应用程序中添加代码以在第一次调用时创建它,否则它不会被创建。
您可以使用
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);
参考 :
编辑:此答案适用于 ASP.NET 应用程序。
如果模板文件夹(包括其内容)是 Web 项目的一部分,则部署应该会自动运行。如果要在运行时将文件添加到此文件夹,可以使用
Server.MapPath(@"~\Template\DebriefReportTemplate.docx")
,但请注意,Web 应用程序通常以对本地资源具有有限访问权限的身份运行。
如果你有一个 Win 应用程序,同样的事情也适用。您需要做的是将文件夹和文件添加到项目中,作为内容。不过,您将需要一个安装项目。
如果您担心 Template 文件夹的存在,您可以在代码中的某个位置创建它。
string path = System.IO.Path.Combine("", "Template");
System.IO.Directory.CreateDirectory(path);
然后移动文件
File.Move(@"DebriefReportTemplate.docx", @"Template\DebriefReportTemplate.docx");