You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Visual Studio检测.ts文件变更触发构建及模板文件默认生成操作

.NET Core控制台模板中TS文件构建检查与默认生成操作配置

针对你在创建包含TypeScript文件的.NET Core控制台项目模板时遇到的两个问题,我来逐一给出解决方案:

1. 将所有*.ts文件纳入Visual Studio构建检查

你已经知道可以用<UpToDateCheckInput>指定单个文件,要覆盖所有现有及后续添加的.ts文件,只需要在项目的.csproj文件中使用通配符匹配所有目录下的.ts文件即可。结合你提到的关闭FastUpToDateCheck的配置,完整的配置如下:

<PropertyGroup>
  <!-- 关闭VS的快速最新检查,强制依赖MSBuild的规则判断 -->
  <DisableFastUpToDateCheck>True</DisableFastUpToDateCheck>
</PropertyGroup>

<ItemGroup>
  <!-- 匹配项目根目录及所有子目录下的.ts文件 -->
  <UpToDateCheckInput Include="**/*.ts" />
</ItemGroup>

这个配置会自动包含所有已存在的.ts文件,以及后续你添加到项目目录结构中的任何.ts文件——只要文件路径符合通配符规则,就会被纳入VS的构建检查,一旦文件变更就会触发项目重新编译。

2. 在模板中指定新增文件的默认生成操作

要让后续添加的特定.ts文件默认使用指定的生成操作(比如EmbeddedResource),有两种可靠的配置方式:

方式一:通过.csproj全局配置(推荐)

在模板的.csproj文件中使用Glob模式批量设置.ts文件的生成操作,这样所有现有及未来添加的.ts文件都会自动继承这个配置。示例代码如下:

<ItemGroup>
  <!-- 所有.ts文件默认设置为EmbeddedResource生成操作 -->
  <EmbeddedResource Include="**/*.ts" />
</ItemGroup>

如果你希望部分.ts文件例外,可以在后续添加<EmbeddedResource Remove="特定路径/文件.ts" />来覆盖全局规则。

方式二:通过项目模板的.vstemplate配置

如果你是在创建Visual Studio项目模板(.vstemplate文件),可以在模板定义中指定新增.ts文件时的默认生成操作,适合控制用户通过模板添加新项时的行为:

<TemplateContent>
  <Project File="YourTemplate.csproj" ReplaceParameters="true">
    <!-- 模板自带的示例TS文件 -->
    <ProjectItem ReplaceParameters="true" TargetFileName="Scripts/main.ts">main.ts</ProjectItem>
    <!-- 定义新增.ts文件时的默认生成操作 -->
    <ProjectItem DefaultBuildAction="EmbeddedResource" TargetFileName="Scripts/$(SafeItemName).ts">Empty.ts</ProjectItem>
  </Project>
</TemplateContent>

这种方式需要你准备一个空的Empty.ts作为模板项的占位,用户通过模板添加新的TS文件时,就会自动应用EmbeddedResource的生成操作。


内容的提问来源于stack exchange,提问作者user3083693

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:43:29