如何配置csproject,以便仅在发布模式下“添加为链接”,而在调试模式下不“添加为链接”?

问题描述 投票:0回答:1

我说的是 VS 2022 中的 csproject,针对 .Net Framework 4.8

是否可以以不同的方式配置调试和发布模式设置?更具体地说,我想仅在发布模式下将 *.tt 文件包含到 csproject 中,而不是在调试模式下。也就是说csproject中如下设置

  <ItemGroup>
    <Content Include="..\AssemblyCopyright.tt">
      <Link>Properties\AssemblyCopyright.tt</Link>
      <Generator>TextTemplatingFileGenerator</Generator>
      <LastGenOutput>AssemblyCopyright.cs</LastGenOutput>
    </Content>
  </ItemGroup>

仅应在编译调试时激活,而不是发布时激活。

动机:

我想根据当年动态生成版权声明,所以我使用代码模板生成方式来实现。但编译过程变得很慢。因此,我只想在发布模式下为用户构建时动态生成版权声明,而不是在调试和测试软件时动态生成版权声明。

c# visual-studio
1个回答
0
投票

正如 jmcilhinney 所说,您可以尝试使用 Content 元素的 Condition 属性来指定何时应包含该项目。以下是如何修改 csproj 文件以仅在发布配置中包含 *.tt 文件:


<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
  <Content Include="..\AssemblyCopyright.tt">
    <Link>Properties\AssemblyCopyright.tt</Link>
    <Generator>TextTemplatingFileGenerator</Generator>
    <LastGenOutput>AssemblyCopyright.cs</LastGenOutput>
  </Content>
</ItemGroup>

使用此配置,仅当构建配置设置为 Release 时,AssemblyCopyright.tt 文件才会包含在项目中。

© www.soinside.com 2019 - 2024. All rights reserved.