我如何在C# 10中禁用新的默认全局用法(见此处:https://github.com/dotnet/aspnetcore/issues/32451)?我希望能一眼看到使用过的名称空间,而不希望查找全局使用名称空间的文档。
t40tm48m1#
必须将<ImplicitUsings>disable</ImplicitUsings>添加到csproj文件中的属性组。例如:
<ImplicitUsings>disable</ImplicitUsings>
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>disable</ImplicitUsings> </PropertyGroup> </Project>
如果您使用的是. NET 6的测试版,则必须使用<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>。
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
jxct1oxe2#
在我的情况下,我不得不
<ImplicitUsings>enable</ImplicitUsings>
来自csproj
stszievb3#
你不能。该问题询问如何禁用C# 10的global using指令功能,即在using指令前加上global会将该指令应用于整个编译单元(通常是项目)。目前接受的禁用ImplicitUsings MSBuild属性的答案不会影响global using功能。相反,“隐式using s”是一个独立的功能,它通过自动、透明地将一组global using指令注入编译单元,在global using功能的基础上构建。引用的特定程序集,具体取决于项目类型。禁用ImplicitUsings属性可防止此注入,但global using指令仍完全有效。
global using
using
global
ImplicitUsings
3条答案
按热度按时间t40tm48m1#
必须将
<ImplicitUsings>disable</ImplicitUsings>
添加到csproj文件中的属性组。例如:
如果您使用的是. NET 6的测试版,则必须使用
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
。jxct1oxe2#
在我的情况下,我不得不
来自csproj
stszievb3#
你不能。
该问题询问如何禁用C# 10的
global using
指令功能,即在using
指令前加上global
会将该指令应用于整个编译单元(通常是项目)。目前接受的禁用
ImplicitUsings
MSBuild属性的答案不会影响global using
功能。相反,“隐式using
s”是一个独立的功能,它通过自动、透明地将一组global using
指令注入编译单元,在global using
功能的基础上构建。引用的特定程序集,具体取决于项目类型。禁用ImplicitUsings
属性可防止此注入,但global using
指令仍完全有效。