c# 10:禁用全局使用

  • 本文关键字:全局 c# .net c#-10.0
  • 更新时间 :
  • 英文 :


如何在c# 10中禁用新的默认全局使用(参见这里:https://github.com/dotnet/aspnetcore/issues/32451)?

我想看一眼使用的名称空间,而不想查找文档中全局使用的名称空间。

<ImplicitUsings>disable</ImplicitUsings>必须添加到csproject -file中的PropertyGroup。

例如:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
</Project>

如果你使用的是。net 6的测试版,你将不得不使用<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>

在我的例子中,我必须删除

<ImplicitUsings>enable</ImplicitUsings>

从csproj

你不能。

问题是如何禁用c# 10的global using指令特性,即在using指令前加上global将该指令应用于整个编译单元(通常是项目)。

目前接受的禁用ImplicitUsingsMSBuild属性的答案不会影响global using功能。相反,"隐式using"是一个独立的特性,它建立在global using特性的基础上,通过自动、透明地将一组global using指令注入到编译单元中,根据项目类型引用特定的程序集。禁用ImplicitUsings属性会阻止这种注入,但会使global using指令完全发挥作用。

相关内容

  • 没有找到相关文章

最新更新