查找VSTO Outlook Addin的安装目录和工作目录;或任何Office Addin

我创建了一个使用库Html2Xhtml.dll(.NET)的VSTO Outlook Addin,它通过执行System.Diagnostic.Process.Start()调用另一个Html2xhtml.exe.

但是,它无法调用Html2xhtml.exe(我认为)因为即使从Visual Studio启动工作目录也是当前用户的My Documents文件夹.我无法控制Html2Xhtml.dll中的代码,所以我不能使用绝对路径;但我想我可以在运行时更改外接程序的工作目录.

但是,如果我通过ClickOnce或其他一些我不知道用户将要选择的安装路径的方式安装它,我怎么想找到我的Html2xhtml.exe?

最佳答案
我找到了答案here,robindotnet.wordpress.com的完整学分.

//Get the assembly information
System.Reflection.Assembly assemblyInfo = System.Reflection.Assembly.GetExecutingAssembly();

//Location is where the assembly is run from 
string assemblyLocation = assemblyInfo.Location;

//CodeBase is the location of the ClickOnce deployment files
Uri uriCodeBase = new Uri(assemblyInfo.CodeBase);
string ClickOnceLocation = Path.GetDirectoryName(uriCodeBase.LocalPath.ToString());

转载注明原文:查找VSTO Outlook Addin的安装目录和工作目录;或任何Office Addin - 代码日志