C# System.IO.Path.GetDirectoryName使路径无效

C# System.IO.Path.GetDirectoryName使路径无效,c#,.net,C#,.net,我正在尝试执行一个工具exe,它与主exe位于同一目录中。 为此,我尝试首先使用Assembly.GetExecutionGassembly获取进程的exe名称,然后使用IO.Path.GetDirectoryName获取目录 //1 String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; //2 String ncpath = System.IO.Path.GetDirect

我正在尝试执行一个工具exe,它与主exe位于同一目录中。 为此,我尝试首先使用Assembly.GetExecutionGassembly获取进程的exe名称,然后使用IO.Path.GetDirectoryName获取目录

//1
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; 
//2
String ncpath = System.IO.Path.GetDirectoryName(exePath);
1返回“file:///C:/Development/RC_trunk/bin/Release/ResultConfirmation.EXE" 它是一个URI。不完全是我需要的,但还行

2返回“文件:\C:\Development\RC\u trunk\bin\Release”,这似乎是一个简单的[/]+to\替换

我的问题使用了错误的API吗

附言。
IDE是VS2008(第1步使用此选项)

您需要使用:


不要使用CodeBase,而是使用GetDirectoryName。

要获取应用程序目录,请尝试
AppDomain.CurrentDomain.BaseDirectory


查看访问目录的其他方式。

好的,对于新手来说,似乎有几种可能会选择错误的方式。谢谢你的链接!
string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location;
System.Reflection.Assembly.GetExecutingAssembly().Location