在visual studio解决方案中包含自动生成的源文件

时间:2017-10-26 09:13:04

标签: c# visual-studio msbuild code-generation

我将集成一个Codegenerator(基于Xtext)来生成一些C ++和C#文件。我的目标是,我有一个Visual Studio项目,它生成C ++和C#文件,然后这些文件应该自动包含在解决方案和构建过程中。

解决方案项目结构如下所示。

  • C ++项目
  • C#Project
  • 发电机项目

理念是:

  • 第一步,生成器项目生成C ++和C#文件
  • 然后生成的文件自动包含在C ++和C#项目中

生成器由目标调用:

<Target
  Name="GenerateNetIDL"
  BeforeTargets="ClCompile"
  Inputs="%(NetIdlItem.Identity)"
  <Message Importance="high" Text="Generating NetIdlInterface"/>
  <Exec Command="java -jar …" />  
 </Target>

我尝试使用以下方法来包含C#项目的文件(*。 csproj 项目文件):

<ItemGroup>
  <Compile Include="mapping\ *.cs">
    <Link>
    </Link>
  </Compile>
</ItemGroup>

这样可行,但只有在我生成源文件然后重新启动Visual Studio时才会生效。

问题:有人知道哪种方法可以在这里工作吗?例如,生成另一个.targets文件,其中包含生成的源文件...

0 个答案:

没有答案