1

几乎每个版本的 Visual Studio 中都有大量报告的错误,具有相似或完全相同的问题。问题是我发现的每一个错误报告都已经解决了。附加信息:我完全相同的代码在一个月前就已经工作了。我正在使用 .NET Core 3.1.100 和 Visual Studio 16.4.2。

项目图形用户界面

条件编译符号项目 GUI

.csproj 配置

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Demo|AnyCPU'">
  <DefineConstants>DEMO</DefineConstants>
</PropertyGroup>

代码(如您所见,DEMO不会应用该符号)。

条件编译符号的使用

有谁知道如何为我的生产环境修复此问题?

提前致谢!

4

1 回答 1

1

这不是在 ASP.NET Core 中应该这样做的方式。ASP.NET Core 本身不使用构建配置的概念,虽然您可以在类似这样的地方或编译器指令中使用它们,但它违背了 ASP.NET Core 应用程序设计的原则。ASP.NET Core 应用程序构建一次,随处部署,而 ASP.NET 则需要为每个环境单独构建。

相反,这应该通过配置和环境来处理。如果您愿意,您甚至可以拥有一个“演示”环境,这样您就可以只注入IWebHostingEnvironment和检查_env.IsEnvironment("Demo"). 除此之外,您应该简单地通过配置(JSON、环境变量等)指定一个“Demo”布尔值,然后将其从IConfiguration.

于 2020-01-08T13:55:09.350 回答