gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:17:17 24 4
gpt4 key购买 nike

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

此外,我在 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" ) 以编程方式执行此操作,如下面的第二个链接中所述

有用的网址:
  • How to set the Build Action for an item created by a Visual Studio item template?
  • Using DTE to set a custom buildaction
  • 关于.net - 如何将自定义默认生成操作关联到 Visual Studio 中的自定义文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1067247/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com