如何在 .NET Core 1.1 中的程序集上使用自定义属性

How to use a custom attribute on an assembly in .NET Core 1.1

虽然我发现 关于检索程序集的自定义属性,但我不确定如何将自定义属性添加到 .NET Core 1.1 中的程序集。在 .NET Framework 中,我会做类似的事情:

[assembly: AdditionalLocation(@"..\ReadFromHere")]

但是我在 Visual Studio 中的 netcore1.1 项目没有 AssemblyInfo.cs。我应该在哪里声明程序集的自定义属性?我可以在 .csproj 文件中添加什么吗?

您始终可以创建一个新的 AssemblyInfo.cs 文件或任何其他 .cs 文件来执行相同的操作。

不过,您也可以使用新的自动生成程序集信息机制。您可以将其添加到您的 csproj 文件中,将替换 Include 属性值的值替换为自定义属性的类型名称:

<ItemGroup>
  <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
    <_Parameter1>DasMulli.Win32.ServiceUtils.Tests</_Parameter1>
  </AssemblyAttribute>
</ItemGroup>

对于 .NET 5.0,您可以使用 AssemblyMetadata:

<AssemblyMetadata Include="Bar" Value="Baz" />