我使用以下代码获取路径:
string componentName =System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
返回完整路径:
C:\ PurgeEngineIntegrated \ PurgeEngine \ PurgeEngine \ BIN \调试
但我想走这条路:
C:\ PurgeEngineIntegrated \ PurgeEngine \ PurgeEngine \ GDPR Files
答案 0 :(得分:1)
代码是正确的。它将返回运行程序集的位置。 Visual Studio编译时,即放入的文件夹。如果GDPR文件是应与运行时一起出现的文件夹,则可以将其标记为“始终复制”或“仅复制时更新”。或者,您需要手动复制该文件夹。
答案 1 :(得分:0)
你可以试试这个:
string componentName = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "\\GDPR Files";
请注意Directory.GetCurrentDirectory()
这将为您提供工作目录路径C:\PurgeEngineIntegrated\PurgeEngine\PurgeEngine\bin\Debug
,此代码Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName
将为您提供Bin
文件夹之前的路径。如果您从exe
文件夹中的Debug
文件运行该程序,它仍然有效,因为它为您提供了当前位置两步的路径。如果你想在不同的地方使用它,你必须要小心。
答案 2 :(得分:-1)
您可以尝试 UriBuilder.UnescapeDataString()从程序集位置获取目录
Preproduction