Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从不同的项目中读取文件?_C#_.net_Visual Studio_Visual Studio 2017 - Fatal编程技术网

C# 如何从不同的项目中读取文件?

C# 如何从不同的项目中读取文件?,c#,.net,visual-studio,visual-studio-2017,C#,.net,Visual Studio,Visual Studio 2017,如何从其他项目读取文件? 我有一个解决办法: Solution1 -MyProject -MyProject.Artifacts ----Message.XML -MyProject.Tests 我正在尝试从MyProject.Tests读取Message.XML的内容 如何从MyProject.Tests读取Message.XML的内容? 不幸的是,现在我正在做这样的事情,但它不是很漂亮: var currentDir = Directory.GetCurrentDirect

如何从其他项目读取文件?

我有一个解决办法:

Solution1
-MyProject
-MyProject.Artifacts
----Message.XML
-MyProject.Tests
我正在尝试从
MyProject.Tests
读取
Message.XML
的内容

如何从
MyProject.Tests
读取
Message.XML
的内容?

不幸的是,现在我正在做这样的事情,但它不是很漂亮:

        var currentDir = Directory.GetCurrentDirectory();
        var parentDir = Directory.GetParent(Directory.GetParent(currentDir).FullName).FullName;
        var parentParentDir = Directory.GetParent(Directory.GetParent(Directory.GetParent(currentDir).FullName).FullName).FullName;
        var parentParentParentDir = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetParent(currentDir).FullName).FullName).FullName).FullName;

您可以在app.config/web.config的app settings中存储文件的路径,使用该路径读取文件内容


这样,如果您需要以不同的方式部署软件,您就有了灵活性

如果您的路径是固定的,您可以编写类似“c:\projects\solution…Message.xml”的路径

如果需要相对路径,最简单的方法是:

var DI = new DirectoryInfo("..\\..\\..\\..\\Your Folder\\Message.XML");

此路径从CurrentDirectory开始,向上四个文件夹,向下一个文件夹,然后找到文件。

然后我需要维护两组配置文件,一个在我的常规项目中,一个在我的测试中,我们进行了配置转换,所以当你们运行测试时,你们会得到一组值,然后运行生产,你们会得到一个不同的设置,它是什么类型的应用程序?Web、控制台或WPF。。。?我认为您可以自己定义XML输出文件夹。因此,您可以参考以下内容:它是一个azure函数