如何将.NET标准代码标记为符合CLS?

Qua*_*ngo 7 cls-compliant .net-standard

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

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

public enum Alignments { Left, Center, Right }
public enum Actions { None, Total, Average, Count }
Run Code Online (Sandbox Code Playgroud)

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

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

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

Qua*_*ngo 9

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

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

using System; [assembly: CLSCompliant(true)]

参考:NetStandard v1.0 docs

对于惯例,我将创建一个AssemblyInfo.cs文件并将其放在那里.