如何以编程方式在C#代码中获取当前项目的路径?
我是否有任何预处理器指令?还是任何宏?
注意: 我不需要当前正在执行的程序集的路径,而是项目的路径,此程序集来自编译。
注意(2) - 我想要实现的目标: 我有几个编译为嵌入资源的文件。我在运行时加载并使用它们。我想创建一个" debug"模式,其中文件从磁盘上的原始位置加载而不是从资源流加载。这使我能够快速编辑文件以进行测试,而无需重新编译程序集。 由于程序集被复制到编译它的项目之外的其他位置,因此在" debug"模式我无法使用相对路径加载文件。
答案 0 :(得分:6)
您可以使用CallerFilePathAttribute。
答案 1 :(得分:0)
string fileName = "SampleFile.txt";
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName);
C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt