C# 从Visual Studio自定义扩展检测设置
我正在更新现有的Visual Studio扩展以与Visual Studio 2019兼容。此扩展允许开发人员创建自定义项目类型。当用户单击VisualStudio的“创建”按钮创建此自定义类型的新项目时,扩展将显示一个自定义表单,以便在扩展创建项目之前从开发人员检索某些信息。这是在“我的扩展”的vstemplate中指定的向导类库中完成的:C# 从Visual Studio自定义扩展检测设置,c#,visual-studio,visual-studio-2019,visual-studio-extensions,C#,Visual Studio,Visual Studio 2019,Visual Studio Extensions,我正在更新现有的Visual Studio扩展以与Visual Studio 2019兼容。此扩展允许开发人员创建自定义项目类型。当用户单击VisualStudio的“创建”按钮创建此自定义类型的新项目时,扩展将显示一个自定义表单,以便在扩展创建项目之前从开发人员检索某些信息。这是在“我的扩展”的vstemplate中指定的向导类库中完成的: <WizardExtension> <Assembly>...Wizard, Version=1.0.0.0, Cultu
<WizardExtension>
<Assembly>...Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b5b18240577bb6e8</Assembly>
<FullClassName>...Wizard.Logic.Wizard</FullClassName>
</WizardExtension>
是否有方法检测地点解决方案和项目是否正确
在同一目录中,从中选中下面显示的复选框
我的扩展的向导类
恐怕答案是否定的VS2019 SDK
没有api知道是否选中了将解决方案和项目放置在同一目录中。此复选框不是解决方案或项目的有效设置
假设您的模板在创建模板时有两个表单(类似于asp.net
web项目)Form1
是VS IDE中的普通文件夹,Form2
是您在向导中的自定义文件夹,解决方案文件和相关项目文件夹隐藏在中。VS
文件夹只有在您单击finalCreate按钮后才会创建。因此,我认为在最终创建项目之前,将解决方案和项目放在同一目录中的信息存储在临时缓存中。这在您的向导类中很难访问
因此,我认为现在,您需要的是不受支持的行为…在创建模板时,我的模板有两个表单,VS IDE表单后跟向导中的自定义表单,这一点您是正确的。如果他们不是一个官方api来给我复选框信息,我希望我能找到一个替代方法来检测复选框状态,即使它有点黑客,但我还没有找到任何方法。我还试图检查是否有其他方法,但我发现当我们在表格1甚至表格2中选择复选框时,解决方案文件夹中没有创建任何内容(即使是.vs文件夹)。所以我认为,当我们在form2中时,关于是否选中该框的信息存储在临时缓存中的某个位置,而不是解决方案本身。。。这意味着很难找到我们想要的信息:-(