如何将自定义默认生成操作关联到 Visual Studio 中的自定义文件类型?

2024-02-08

我有一个为自定义文件类型构建的语言服务。

此外,我还在 MSBuild 项目文件中创建了一个自定义目标(构建操作)。但是,我无法找到任何方法将该构建操作默认关联到我的自定义文件扩展名。

例如,如果添加 .cs 文件,则构建操作默认为“编译”。我想为我做同样的事情。 即,当添加 .dsl 文件时,我希望构建操作为“生成”,这是我的自定义目标(因此也是构建操作)。

有没有一种不使用项目向导的方法?


我认为以下内容可能会对您和其他想做类似事情的人有所帮助。

如果您的最终目标是在 .dsl 文件中发生任何更改时生成代码/某些内容,那么我建议您可以使用“CustomTool”。它是任何项目项的属性。您编写代码来生成代码,注册 Generator 程序集,然后将 .dsl 文件的 customtool 属性设置为“MyDslToCsGenerator”。

为了在 VS 中注册自定义工具,您必须运行“regasm”实用程序,该实用程序可通过 .Net 框架针对 MyDslToCsGenerator.dll 使用


我知道您说过您不想使用项目模板向导,但如果您可以访问自定义文件模板,那么您可以设置默认构建操作(请参阅下面的第一个链接)

<ProjectItem SubType="" TargetFileName="$fileinputname$.dsl" 
ReplaceParameters="true" ItemType="Embedded Resource" 
CustomTool="MyDslToCsGenerator">MyFile.dsl</ProjectItem>

您还可以使用 DTE 以编程方式执行此操作(projectItem.Properties.Item("ItemType").Value = "MyOwnBuildActionChoice")如下面第二个链接所述

有用的网址:

  1. 如何为 Visual Studio 项模板创建的项设置构建操作? http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/6bfe13fd-618e-477f-ab66-0f24c6b5d4c3
  2. 使用 DTE 设置自定义构建 行动 http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/bd74f1bc-2c60-4f9c-b29f-e50bf16aadfc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将自定义默认生成操作关联到 Visual Studio 中的自定义文件类型? 的相关文章

随机推荐