Tag: 代码库

如何将Assembly.CodeBase转换为C#中的文件系统path?

我有一个将模板存储在DLL和EXE旁边的\Templates文件夹中的项目。 我想在运行时确定这个文件path,但是使用一种可以在unit testing和生产环境中工作的技术(并且我不想在NUnit中禁用阴影复制!) Assembly.Location是不好的,因为它在NUnit下运行时返回阴影复制程序集的path。 Environment.CommandLine也是有限的使用,因为在NUnit等它返回到NUnit的path,而不是我的项目。 Assembly.CodeBase看起来很有前途,但它是一个UNCpath: file:///D:/projects/MyApp/MyApp/bin/debug/MyApp.exe 现在我可以把它变成一个本地文件系统path使用string操作,但我怀疑有一个更干净的方式,把它埋在.NET框架的地方。 任何人都知道这样做的推荐方式? (如果UNCpath不是一个file:///抛出一个exceptionfile:/// URL在这种情况下是绝对正确的)