Che*_*149 5 c# visual-studio-2015 .net-core
我在Visual Studio 2017 RC3中有一个C#(.Net Core)解决方案,其中包含许多项目(如果您感到好奇,则为4个),并且我最近使用VS 2017 RC3从旧的project.json/visual studio 2015格式迁移.
其中一个项目是一个测试项目,我需要访问它下面的一些文件.
似乎Directory.GetCurrentDirectory()不能依赖于在测试代码中获取项目路径,因为VS 2017中的测试是从IDE的安装位置运行的 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE.
目前,我正在通过对测试项目的基本路径进行硬编码来解决这个问题.由于这不是理想的,有没有替代方法以编程方式获取VS 2017 RC3中项目的基本路径?
Mat*_*hew 14
您应该能够通过AppContext.BaseDirectory获得所需内容.这将从%projectfolder%\ bin\debug \netcoreapp1.1返回运行测试的位置.你可以做这样的事情来获得项目文件夹.
AppContext.BaseDirectory.Substring(0, AppContext.BaseDirectory.IndexOf("bin"));
你可以把它扔进帮助器或扩展方法.
按照马修的回答,我最终得到了这个代码(VSCode/.net-core/C#/MacOSX)来获得实际的解决方案根与项目根:
var appRoot = AppContext.BaseDirectory.Substring(0,AppContext.BaseDirectory.LastIndexOf("/bin"));
appRoot = appRoot.Substring(0,appRoot.LastIndexOf("/")+1);
Run Code Online (Sandbox Code Playgroud)
该+1位允许您包含尾部正斜杠。
| 归档时间: |
|
| 查看次数: |
8787 次 |
| 最近记录: |