Msbuild T4生成时生成的文件

Msbuild T4生成时生成的文件,msbuild,t4,Msbuild,T4,我在T4在生成时转换(使用MsBuild)时遇到困难 我正在尝试将生成的文件获取到解决方案/项目。如果我只是保存或运行自定义工具,则会自动生成文件并将其添加到解决方案中 这些文件也会在构建时生成,但不会添加到“开箱即用”的解决方案中。我不确定这是我的错,还是默认行为 我也无法将生成的文件名添加到模板中 我能够在生成输出中看到生成的文件,但将它们作为参数传递到.tt文件失败 以下是.csproj的外观: <Import Project="$(VSToolsPath)\TextTempla

我在T4在生成时转换(使用MsBuild)时遇到困难

我正在尝试将生成的文件获取到解决方案/项目。如果我只是保存或运行自定义工具,则会自动生成文件并将其添加到解决方案中

这些文件也会在构建时生成,但不会添加到“开箱即用”的解决方案中。我不确定这是我的错,还是默认行为

我也无法将生成的文件名添加到模板中

我能够在生成输出中看到生成的文件,但将它们作为参数传递到.tt文件失败

以下是.csproj的外观:

  <Import Project="$(VSToolsPath)\TextTemplating\Microsoft.TextTemplating.targets" />
  <PropertyGroup>
    <TransformOnBuild>true</TransformOnBuild>
    <OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
    <TransformOutOfDateOnly>false</TransformOutOfDateOnly>
    <AfterTransform>OnAfterTransform</AfterTransform>
  </PropertyGroup>

  <Target Name="OnAfterTransform">
    <Message Text="@(GeneratedFiles)" Importance="high" />
    <ItemGroup>
      <T4ParameterValues Include="Generated">
        <Value>@(GeneratedFiles)</Value>
        <Visible>false</Visible>
      </T4ParameterValues>
    </ItemGroup>
  </Target>

真的
真的
假的
还有一些,我真的不能说出参数的类型。我也没有通过谷歌搜索找到相关的例子

另一方面,我可以轻松地传递ProjectFolder,例如:

  <ItemGroup>
    <T4ParameterValues Include="ProjectFolder">
      <Value>$(ProjectDir)</Value>
      <Visible>false</Visible>
    </T4ParameterValues>
  </ItemGroup>

$(ProjectDir)
假的
并以以下方式消费:

<#@ parameter type="System.String" name="ProjectFolder" #>

在.tt文件中

因此,我的问题是:

  • 我需要做什么,在什么时候将生成的文件放入解决方案 基于构建的转换
  • 如何在生成时将生成的文件传递到.tt中
<#@ parameter type="System.String" name="ProjectFolder" #>