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

时间:2018-02-28 09:53:28

标签: .net-standard cls-compliant

标题说明了一切 - 如何将.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文件中的属性。

1 个答案:

答案 0 :(得分:7)

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

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

using System; [assembly: CLSCompliant(true)]

参考:NetStandard v1.0 docs

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