我正在创建一个 NUnit 测试项目,在创建该项目时,MS Visual Studio 创建了一个名为 Usings.cs 的文件,其中包含以下行
global using NUnit.Framework;
它告诉项目在每个文件中包含 NUnit 框架。
我一直在这个测试项目上运行StyleCopAnalyzers,并且它不断报告
SA1200:using 指令应出现在命名空间声明中。
但是,当我将
global using
放在命名空间声明中时
namespace TestProject
{
global using NUnit.Framework;
}
我收到错误
CS8914:全局 using 指令不能在命名空间声明中使用。
正确的做法是什么?我应该将 Usings.cs 文件与
global usings
一起使用吗?
在您的 .csproj 中添加以下行
<ItemGroup>
<Using Include="NUnit.Framework" />
</ItemGroup>
看起来默认值可能已更改。该修复涉及更新您的编辑器配置文件 (.editorconfig),该文件应与您的解决方案位于同一目录中。
寻找以下内容
你希望它们看起来像
csharp_using_directive_placement = outside_namespace
dotnet_diagnostic.SA1200.severity = None
或者只是删除 csharp_using_directive_placement 以获得默认行为
dotnet_diagnostic.SA1200.severity = None
在我的项目中,
csharp_using_directive_placement
被设置为inside_namespace,这在全局使用文件中是不可能的。