MSBuild项目输出中的额外文件

时间:2013-11-29 06:08:35

标签: c# .net msbuild

我有一个C#项目,代表将部署到GAC的程序集。因此,我想为此程序集生成一个策略库。

目前我在ALAfterBuild内使用AfterCompile目标进行操作:

<PropertyGroup>
  <PolicyDllName>$(TargetDir)$(TargetName).policy.dll</PolicyDllName>
  <PolicyConfigName>$(ProjectDir)\policy.config</PolicyConfigName>
</PropertyGroup>

<AL LinkResources="$(PolicyConfigName)" 
    Platform="$(Platform)" 
    KeyFile="$(ProjectDir)MyKey.snk" 
    OutputAssembly="$(PolicyDllName)" 
    Version="%(AssemblyInfo.Version)">
  <Output TaskParameter="OutputAssembly" ItemName="FileWrites"/>
</AL>

它工作正常,我的策略程序集已生成。

但是,虽然在输出文件夹中生成,但它不是项目输出的一部分。 例如,当我从另一个项目引用我的项目时,DLL被复制到第二个项目的bin文件夹中,但策略程序集不是。

所以我的策略程序集只是一个被删除到项目输出文件夹的文件,MSBuild不会将其视为项目输出的一部分。

另一个例子:当我从一个Web项目引用我的项目然后执行Publish时,策略程序集不包含在已发布的Web站点中,而项目&#34; main&#34;汇编是。

问题是:如何做到这一点&#34;额外的组装&#34; (或任何额外的文件)项目的输出的一部分?

0 个答案:

没有答案