.NET 6 中是否可以根据环境拥有多个 Program.c。就像我们在 Startup.cs 中使用 StartupDevelopment、StartupStaging 等将配置放置在特定于环境的类中一样?或者方法是回到 Program.cs 中的 Startup 类?
不,拥有多个顶级语句文件(即
Program.cs
)是不可能的,因为编译器只允许每个项目有一个这样的文件。因此,您需要切换回通用托管模型(具有 Startup
类的模型),或者使用 builder.Environment
/app.Environment
检查自行编写特定于环境的代码:
if (builder.Environment.IsDevelopment())
{
...
}
else if(builder.Environment.IsEnvironment("SomeCustomEnv"))
{
...
}
...
您可以提取此代码并将其移动到
partial Program
类(注意 - 没有命名空间):
public static partial class Program
{
public static WebApplicationBuilder RegisterDevelopment(this WebApplicationBuilder builder)
{
if (builder.Environment.IsDevelopment())
{
// ...
}
return builder;
}
// ... other registration methods, including ones accepting `WebApplication`
}
并在“主要”中调用它们:
builder.RegisterDevelopment();
// ....
我认为只有一个program.cs类,但你可以制作不同的cs文件,你可以在其中放置基于配置的环境 喜欢
开发配置.cs
配置.cs
并在程序cs中配置它们