我的MSBuild码取文件与特定生成操作( CompileFoo
在该示例中),并且产生的输出文件(具有不同的扩展名)。 这是我到目前为止的代码:
<Target Name="BuildFoo" BeforeTargets="Compile"
Inputs="@(CompileFoo)"
Outputs="@(CompileFoo -> '$(OutputPath)%(RelativeDir)%(Filename).bin' )" >
<!-- makefoo doesn't know how to create directories: -->
<MakeDir Directories="$(OutputPath)%(CompileFoo.RelativeDir)"/>
<Exec Command="makefoo -o "$(OutputPath)%(CompileFoo.RelativeDir)%(CompileFoo.Filename).bin" "%(CompileFoo.Identity)"" />
<ItemGroup>
<!-- Required so we can handle Clean: -->
<FileWrites Include="@(CompileFoo -> '$(OutputPath)%(RelativeDir)%(Filename).bin' )"/>
</ItemGroup>
</Target>
如果我包括在产生最后的EXE项目这个伟大的工程。
但现在我想让它在产生由EXE(C#与装配参考)引用的DLL的一个项目工作,我需要得到那些生成项目(该.bin
从输出目录中的示例文件)该DLL,成EXE的输出目录。
我试图得到类似这样的效果,当DLL项目会发生什么事情:
<Content Include="Test\Test.txt"><CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory></Content>
在这种情况下, Test\Test.txt
文件中的EXE的输出文件夹结束。 虽然我不知道那是完全一样的事情。 (它与原始文件,或从DLL输出文件夹中拷贝一个?)
我试图得到相当兼容的东西 - 特别是将在VS2010和VS Mac上工作。