如何修改自动生成的Global Usings文件模板以添加命名空间?
修改.NET自动生成GlobalUsings.g.cs的默认模板方法
方法一:修改系统自带的SDK模板(影响所有新建项目)
定位.NET SDK模板目录
- Windows:
C:\Program Files\dotnet\sdk\[你的SDK版本号]\Sdks\Microsoft.NET.Sdk\Templates\ - Linux/macOS:
/usr/share/dotnet/sdk/[你的SDK版本号]/Sdks/Microsoft.NET.Sdk/Templates/
替换[你的SDK版本号]为实际使用的版本(可通过dotnet --version命令查看)。
- Windows:
找到对应项目类型的模板文件
- 控制台项目:进入
ConsoleApplication子目录,打开CodeTemplates/GlobalUsings.g.cs文件 - 类库项目:进入
ClassLibrary子目录,打开CodeTemplates/GlobalUsings.g.cs文件
- 控制台项目:进入
编辑模板内容
在现有global using语句后添加所需命名空间,示例如下:// <auto-generated/> global using global::System; global using global::System.Collections.Generic; global using global::System.IO; global using global::System.Linq; global using global::System.Net.Http; global using global::System.Threading; global using global::System.Threading.Tasks; // 自定义添加的命名空间 global using global::System.Text.Json; global using global::System.Diagnostics;保存文件
后续新建对应类型项目时,自动生成的GlobalUsings.g.cs会包含你添加的命名空间。
注意:该修改会被.NET SDK更新覆盖,更新SDK后需重新编辑模板文件。
方法二:创建自定义项目模板(推荐,不影响系统模板)
如果不想改动系统自带模板,可创建专属自定义模板:
创建基准项目
新建一个控制台/类库项目,修改GlobalUsings.g.cs添加所需命名空间,或直接在项目文件中定义全局引用。导出为自定义模板
在项目目录下运行命令:dotnet new template --name "MyCustomConsole" --shortname "myconsole" --language "C#"类库项目可自行调整
--name和--shortname参数。安装自定义模板
执行命令将模板安装到本地:dotnet new install ./替换
./为模板项目的实际目录路径。使用自定义模板
新建项目时调用自定义模板命令,示例:dotnet new myconsole -n MyNewProject生成的项目会包含预先设置的全局命名空间。
此方法不受SDK更新影响,还可灵活定制模板的其他内容。
内容的提问来源于stack exchange,提问作者atiyar
相关产品推荐
相关产品推荐

