首页 > 解决方案 > 从 Visual Studio 自定义扩展中检测设置

问题描述

我正在更新现有的 Visual Studio 扩展以与 Visual Studio 2019 兼容。此扩展允许开发人员创建自定义项目类型。当用户单击 Visual Studio 的“创建”按钮创建此自定义类型的新项目时,扩展程序会显示一个自定义表单,以便在扩展程序创建项目之前从开发人员那里检索某些信息。这是在我的扩展的 vstemplate 中指定的向导类库中完成的:

<WizardExtension>
    <Assembly>...Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b5b18240577bb6e8</Assembly>    
    <FullClassName>...Wizard.Logic.Wizard</FullClassName>
</WizardExtension>

我的问题是这样的:

在此处输入图像描述

标签: c#visual-studiovisual-studio-2019visual-studio-extensions

解决方案


有没有办法检测是否从我的扩展的 Wizard 类中选中了下面显示的 Place solution and project in the same directory 复选框?

恐怕答案是否定的。VS2019 SDK没有 api 知道是否Place solution and project in the same directory被检查。此复选框不是解决方案甚至项目的有效设置。

假设您的模板在创建模板时有两种形式(类似于asp.netweb 项目)。Form1是来自 VS IDE 的普通文件夹,而Form2来自 、解决方案文件和相关项目文件夹的自定义Wizard文件夹、隐藏.vs文件夹将不会被创建,直到您单击最后的 创建按钮。所以我认为在项目最终创建之前,关于的信息Place solution and project in the same directory存储在临时缓存中。这在您的向导类中很难访问。

所以我认为现在,你想要的不是支持的行为......


推荐阅读