我正在尝试设置一个安装程序,将我制作的压缩导出的项目模板复制到默认项目目录的“项目模板”文件夹中,因为这似乎是在“新建项目”向导中合并自定义模板的最简单方法。
对于大多数人来说,位置将是%USERPROFILE%\Documents\Visual Studio 2013\Templates\ProjectTemplates
,但我确信这不能保证,或者至少不是静态的。
有没有办法可以通过宏或以编程方式检索此信息?如果只是后者,那么C#和C ++是首选的例子。
答案 0 :(得分:3)
您可以从注册表中阅读它们:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0
这些都在键下:
“UserItemTemplatesLocation”和“UserProjectTemplatesLocation”。
根据您使用的安装程序技术,例如,WiX具有RegistrySearch
元素,允许您动态读取注册表值,并将文件复制到特定位置。
目前还不清楚你正在寻找什么(你的头衔想要项目文件夹,但是你说的是模板文件夹),还有“VisualStudioProjectsLocation”注册表项
答案 1 :(得分:1)
OP,在这里。我正在共享一个迷你C#程序,以帮助您在控制台应用程序中获取此信息。克里斯的回答是我正在寻找的,所以如果你不使用WiX,只需使用这个节省时间:
using System;
using Microsoft.Win32;
namespace FindDefaultProjectTemplates
{
class Program
{
static void Main(string[] args)
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio\12.0");
Object obj = key.GetValue("UserProjectTemplatesLocation");
Console.WriteLine(obj);
Console.ReadLine();
}
}
}