我正在尝试为新的微服务创建一个.NET模板。我正在研究如何使用条件表达式有条件地添加/删除代码,以便在需要的情况下可以删除解决方案的某些部分,比如Swagger。我的一个问题是,我希望能够编译和工作的解决方案,以便它可以很容易地由其他人改进。例如,我有一个布尔参数EnableSwaggerSupport
,如果不启用它,它将删除Startup.cs
中的添加swagger。
#if EnableSwaggerSupport
services.AddSwagger(_environment);
#endif
不幸的是,当试图编译解决方案时,它在编译过程中会被忽略。我必须注释掉#if
和#endif
,或者将它们从Startup.cs
中删除,以继续解决方案。由于我希望使解决方案仍然使用或不使用Swagger编译(在本例中),如果我能够决定是否在编译期间将代码包括在模板条件中(本例中为services.AddSwagger(_environment);
),以确保它在删除该语句的情况下工作,那就太好了。
在编译过程中,是否有任何简单的方法来获得包含在条件中的代码?在我看来,在appSettings.json中设置appSettings.json这样的操作是有意义的,但这似乎是不可能的。
我在VS 2022工作。
我正在尝试将我的dotnet模板解决方案中的条件中的代码编译,但是在编译过程中它被忽略了。
https://stackoverflow.com/questions/74547689
复制相似问题