У меня есть код С#, который пытается получить LocalPath
для исполняющей сборки, используя следующую строку кода:
Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
Этот фрагмент кода отлично подходит для всего множества путей. Он начал терпеть неудачу, давая правильные AbsolutePath
и LocalPath
, потому что путь выполнения сборки содержал в нем #.
Assembly.GetExecutingAssembly().CodeBase
дает "C:\c#\ExcelAddin1.1.0\GSRExcelPlugin\bin\Debug\Common.dll"
Но новый Uri (Assembly.GetExecutingAssembly(). CodeBase).LocalPath дает "C:\c", пока он должен был дать "C:\С#\ExcelAddin1.1.0\GSRExcelPlugin\bin\Debug \".
Есть ли что-то, что мне нужно для обработки, или что-то не так, как используется класс Uri?
Если это проблема с картой .net, как мне сообщить об этой проблеме Microsoft?