【发布时间】:2012-12-12 16:07:27
【问题描述】:
我想以编程方式在 Visual Studio 的“扩展”文件夹中安装一个文件夹。我能得到的最接近的是使用 VS100COMNTOOLS 环境变量。我想要做的是从“工具”文件夹返回一级,进入 IDE/Extensions,类似于 VS100COMNTOOLS..\IDE\Extensions。这是我的代码:
namespace TemplatesCustomAction
{
public class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
var vspath = Environment.GetEnvironmentVariable("VS100COMNTOOLS");
session["VSINSTALLATIONFOLDER"] = string.Format(@"{0}\..\IDE\Extensions", vspath);
return ActionResult.Success;
}
}
}
【问题讨论】:
-
应该没问题。您遇到了什么问题?
-
路径中出现“..”无效字符。当我运行我的 MSI 时
-
您也可以使用“更长”的方式创建
DirectoryInfo并获取父目录:new DirectoryInfo(vspath).Parent.FullName; -
Path.GetDirectory 传递一个目录会返回父目录,并用 Path.Combine 构建 Paths。