如何使用新的 csproj 构建系统在 csproj 中定义 AssemblyProduct

bit*_*onk 2 msbuild csproj visual-studio-2017 .net-standard

在“旧”世界中,我会定义一个AssemblyProductAttribute并且AssemblyTrademarkAttribute它会在 Windows 资源管理器的文件属性中显示为“产品名称”和“合法商标”。

在 Visual Studio 2017 中用于 netstandard 项目的新简化 msbuild 系统中,首选方法是直接在 csproj 中定义所有这些程序集级别的属性并让 msbuild 生成实际属性。

但是似乎没有办法在 csproj 中定义“产品名称”和“合法商标”。或者有吗?这个 msbuild 目标似乎暗示它应该至少适用于AssemblyProductAttribute.

我怎样才能添加这两个东西?

Udapte: 好的,所以对于AssemblyProductAttribute 中的可以直接写入<Product>Foo</Product>csproj 文件。但是AssemblyTrademarkAttribute呢?

Mar*_*ich 6

您可以为这些目标尚未发出的程序集属性添加一项:

<ItemGroup>
  <AssemblyAttribute Include="System.Reflection.AssemblyTrademarkAttribute">
    <_Parameter1>My Trademark</_Parameter1>
  </AssemblyAttribute>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

可以在此处查看如何使用它来生成InternalsVisibleTo属性的示例。