17

标题说明了一切——如何将 .NET 标准库标记为符合 CLS?

我用 C# 编写了一个针对 .NET Standard 1.0 框架的简单库。它包括两个枚举:

public enum Alignments { Left, Center, Right }
public enum Actions { None, Total, Average, Count }

当我尝试在 .NET 4.6 项目中使用该库时,它会将枚举标记为不符合 CLS:

警告 CS3001 参数类型“操作”不符合 CLS

我无法向 AssemblyInfo.cs 添加任何内容,因为 .NET 标准不使用它。它似乎也不支持作为 .csproj 文件中的属性。

4

1 回答 1

18

没有 AssemblyInfo.cs 文件,但可以将程序集属性添加到 .NET Standard 项目中的任何文件。

因此,将其添加到项目中的 C# 文件将使程序集符合 CLS:

using System; [assembly: CLSCompliant(true)]

参考:NetStandard v1.0 文档

为了约定,我将创建一个 AssemblyInfo.cs 文件并将其放置在那里。

于 2018-02-28T10:14:52.380 回答