如何从.csproj文件生成AssemblyInfo时定义多个朋友程序集?

时间:2016-09-13 12:34:18

标签: c# friend assemblyinfo internalsvisibleto

我想定义几个朋友集。 手动编辑AssemblyInfo文件时很容易这样做:

[assembly:InternalsVisibleTo("Friend1a")]
[assembly:InternalsVisibleTo("Friend1b")]

[assembly:InternalsVisibleTo("Friend2a"), 
      InternalsVisibleTo("Friend2b")]

但是我的AssemblyInfo文件是由.csproj文件中的 MSBuild任务生成的。在这种情况下,我可以添加一个InternalsVisibleTo属性,但不能添加几个。

<AssemblyInfo CodeLanguage="CS" OutputFile="$(AssemblyInfoFile)"  AssemblyVersion="$(Version)" InternalsVisibleTo = "Friend1a"/>

如何在.csproj文件中定义多个朋友程序集?

2 个答案:

答案 0 :(得分:0)

只需将它们添加到另一个文件中即可。 &#39; ExtraAssemblyInfo.cs&#39 ;.关于AssemblyInfo文件没有什么特殊的代码,它只是一个长期的惯例。

答案 1 :(得分:0)

您可以通过.csprojAssemblyAttribute文件中添加多个友好程序集。将以下代码放在根标记中:

<ItemGroup> <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo"> <_Parameter1>Friend1</_Parameter1> </AssemblyAttribute> <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo"> <_Parameter1>Friend2</_Parameter1> </AssemblyAttribute> </ItemGroup>