如何在Visual Studio 2013中获取默认项目目录

时间:2015-02-13 18:29:20

标签: windows visual-studio-2013

我正在尝试设置一个安装程序,将我制作的压缩导出的项目模板复制到默认项目目录的“项目模板”文件夹中,因为这似乎是在“新建项目”向导中合并自定义模板的最简单方法。

对于大多数人来说,位置将是%USERPROFILE%\Documents\Visual Studio 2013\Templates\ProjectTemplates,但我确信这不能保证,或者至少不是静态的。

有没有办法可以通过宏或以编程方式检索此信息?如果只是后者,那么C#和C ++是首选的例子。

2 个答案:

答案 0 :(得分:3)

您可以从注册表中阅读它们:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0

这些都在键下:

“UserItemTemplatesLocation”和“UserProjectTemplatesLocation”。

根据您使用的安装程序技术,例如,WiX具有RegistrySearch元素,允许您动态读取注册表值,并将文件复制到特定位置。

目前还不清楚你正在寻找什么(你的头衔想要项目文件夹,但是你说的是模板文件夹),还有“VisualStudioProjectsLocation”注册表项

Example

答案 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();
        }
    }
}