![](/img/trans.png)
[英]Save and retrieve image from another project in the same solution or common directory
[英]Save/retrieve a file in a project directory, not the output directory
我正在创建一个简单的.NET控制台应用程序,我想在其中将文件保存在根项目一部分的文件夹中,例如: SolutionName.ProjectName\\TestData\\
。 我想将test.xml
放入TestData
文件夹中。 但是,当我保存XDocument
,会将其保存到SolutionName.ProjectName\\bin\\x86\\Debug Console\\test.xml
。
我需要做什么来保存或检索项目目录下的子文件夹中的文件?
我以前见过,但从未真正尝试过。 快速搜索并将其挖掘出来:
System.AppDomain.CurrentDomain.BaseDirectory
为控制台应用程序提供一个代替Application.StartupPath的功能。
控制台应用程序一旦编译,就不再与Visual Studio解决方案真正相关。 最好的方法可能是简单地将输出路径作为命令行参数“馈送”到应用程序:
Public Sub Main(args as String())
' don't forget validation: handle situation where no or invalid arguments supplied
Dim outputFile = Path.Combine(args(0), "TestData", "test.xml")
End Sub
现在,您可以像这样运行应用程序:
myapp.exe Path\To\SolutionFolder
您可以使用System.IO命名空间来获取相对于exe的目录:
var exeDirectory = Application.StartupPath;
var exeDirectoryInfo = new DirectoryInfo(exeDirectory);
var projectDirectoryInfo = exeDirectoryInfo.Parent.Parent.Parnet; // bin/x86/debug to project
var dataPath = Path.Combine(projectDirectoryInfo.FullName, "TestData");
var finalFilename = Path.Combine(dataPath, "test.xml");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.