我有一个项目,将模板存储在DLL和EXE旁边的\Templates
文件夹中.
我希望在运行时确定该文件路径,但是使用一种在单元测试和生产中都有效的技术(我不想在NUnit中禁用卷影复制!)
Assembly.Location
不好,因为在NUnit下运行时,它会返回卷影复制程序集的路径.
Environment.CommandLine
的用途也很有限,因为在NUnit等人中,它将路径返回给NUnit,而不是我的项目.
Assembly.CodeBase
看起来很有希望,但这是一条UNC路径:
file:///D:/projects/MyApp/MyApp/bin/debug/MyApp.exe
现在,我使用字符串操作将其转换为本地文件系统路径,但我怀疑有一种更干净的方法可以实现这一点.NET框架.有人知道推荐的方法吗?
(在这种情况下,如果UNC路径不是file:///
URL,则引发异常是绝对正确的)