如何获取%vsspv_visualstudio_dir%变量的值?

时间:2017-02-12 16:46:00

标签: c# visual-studio visual-studio-2015

VS2015 Update 3

在我的外部应用程序中,我需要获取VS2015的User project templates locationUser item templates location设置值。然后我将我的模板添加到该目录中。

enter image description here

HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\Profile\AutoSaveFile参数包含%vsspv_visualstudio_dir%\settings\CurrentSettings.vssettings值。

enter image description here

在该文件的内部,必要的值还包含%vsspv_visualstudio_dir%变量:

<PropertyValue name="ProjectTemplatesLocation">%vsspv_visualstudio_dir%\Templates\ProjectTemplates</PropertyValue>  
<PropertyValue name="ProjectItemTemplatesLocation">%vsspv_visualstudio_dir%\Templates\ItemTemplates</PropertyValue>

如何展开%vsspv_visualstudio_dir%变量? Environment.ExpandEnvironmentVariables(String)方法无法扩展它:

var str = Environment.ExpandEnvironmentVariables(
    "%vsspv_visualstudio_dir%"); // I get the same string

2 个答案:

答案 0 :(得分:0)

当前VS2015用户配置文件的项目和项目模板文件夹的位置也可以在以下注册表项中找到:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\UserProjectTemplatesLocation
HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\UserItemTemplatesLocation

这些值不包含任何变量,因此可以按原样使用。

答案 1 :(得分:0)

另一个问题及其解决方案。这篇文章是解决问题的秘诀-谢谢。

变量%vsspv_visualstudio_dir%默认情况下与默认目录“文档”相关联。

问题:如果默认目录“文档”不存在(因为已通过注册表将其删除,则不是一个好主意),因此该设置不被接受或保存在MS VS设置,项目和解决方案,位置中。 MS VS的下一次新启动会丢失此设置。

解决方案:恢复默认目录“文档”。

测试:MS VS将“常规”部分重置为默认设置,没有错误。

找出未保存MS VS设置的原因很长。