Mat*_*uwe 4 c# visual-studio-2010 visual-studio-sdk visual-studio-2010-sp1 visual-studio-extensions
如何从Visual Studio 2010扩展中获取默认项目创建目录?默认情况下,此目录为:
C:\Users\<username>\Documents\Visual Studio 2010\Projects
Run Code Online (Sandbox Code Playgroud)
我猜这是通过工具 - >选项窗口完成的,但我不知道如何通过SDK获得此功能.
乍一看,以下看起来应该让我接近:
DTE2 dte = CType(GetService(typeof(SDTE)), DTE2);
Object props = dte.Properties("Projects and Solutions", "General");
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
System.Runtime.InteropServices.COMException was unhandled by user code
ErrorCode=-2147352565
Message=Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Run Code Online (Sandbox Code Playgroud)
找到它:http:
//msdn.microsoft.com/en-us/library/ms165642.aspx
Visual Studio运行一次后,Visual Studio的当前实例的属性项名称存储在以下Windows注册表项中:HKCU\SOFTWARE\Microsoft\VisualStudio\10.0_Config\AutomationProperties.此位置始终具有明确的名称列表.类别名称是AutomationProperties键(Database Tools,FontsAndColors等)的子键的名称.页面名称是类别键的子键的名称.例如,FontsAndColors类别包含Dialogs和Tool Windows,Printer和TextEditor页面.您可以使用注册表编辑器查看注册表.
这里是获取我正在寻找的值的代码:
string defaultProjectPath = (string)(DTE.Properties("Environment", "ProjectsAndSolution").Item["ProjectsLocation"].Value);
Run Code Online (Sandbox Code Playgroud)
请注意,注册表中的值与您在Visual Studio中看到的值不匹配,因此需要一些小的侦探工作才能获得您正在寻找的确切值.由于向后兼容性,我认为它是以这种方式设置的.
| 归档时间: |
|
| 查看次数: |
5889 次 |
| 最近记录: |