如何解决如何从DTE获取exe文件夹的项目路径
我编写了Visual Studio扩展(Vsix)。
到目前为止我所做的:
- 我有一个控制台应用程序,该应用程序在 被执行
- 正在通过我的插件运行控制台应用程序。 ->我需要该路径以不同的方式启动进程以从控制台获取输出。
我需要找到exe的当前正在运行的外部项目路径。
我的代码:
private void Execute(object sender,EventArgs e)
{
ThreadHelper.ThrowIfNotOnUIThread();
// This runs my external console application
dte.Solution.SolutionBuild.Run();
Path.GetDirectoryName(dte.Solution.FullName);
Project prj = dte.Solution.Projects.Item(1);
string msg2,msg3 = "";
msg2 = prj.DTE.FullName;
msg3 = prj.DTE.FileName;
}
当前运行应用程序的项目是 devenv.exe ,因此:
Path.GetDirectoryName(dte.Solution.FullName)= “ D:\ user \ proj \ projName \ Docs \ App \ AppName”
我需要exe的路径。
msg2,msg3 = “ D:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community \ Common7 \ IDE \ devenv.exe”
您有什么提示吗?
解决方法
也许您可以使用ProcessModule.ModuleName来获取当前进程的完整路径。
我用菜单命令创建一个Visual Studio扩展,并将此代码添加到Execute方法中
private void Execute(object sender,EventArgs e)
{
ThreadHelper.ThrowIfNotOnUIThread();
string message = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
string title = "Command1";
...
}
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。