当我发布到 Azure 之类的东西时,我设置了可以正常工作的 Web 配置转换。但是,如果在本地运行时实际上没有应用 web.config 转换,则在本地发布和调试之间进行选择似乎毫无价值。
当我单击“运行”时,有什么方法可以应用这些转换?如果没有,那么有那个下拉菜单有什么意义?我是真的很好奇,不是空谈。
当我发布到 Azure 之类的东西时,我设置了可以正常工作的 Web 配置转换。但是,如果在本地运行时实际上没有应用 web.config 转换,则在本地发布和调试之间进行选择似乎毫无价值。
当我单击“运行”时,有什么方法可以应用这些转换?如果没有,那么有那个下拉菜单有什么意义?我是真的很好奇,不是空谈。
web.config 转换的想法是您有一些在环境之间更改的设置。例如,您可能有一个本地开发连接字符串,并且在本地运行/调试时总是会使用它。但是,当您发布到生产服务器时,您希望使用生产数据库。构建时的调试与发布配置只是更改项目构建方式的一些设置(最常见的是如何生成调试符号或启用哪些编译器优化),而 web.config 转换正在更改部署内容的内容(在web.config)。
如果您确实想在 F5 上本地应用 web.config 转换,有一些扩展允许您这样做。 慢猎豹就是其中之一。但是,在许多情况下,您可能不需要它,因为只要您在本地运行,您的 web.config 将基本保持不变。
几乎所有的 IDE 都有发布和调试模式,在调试模式下,代码是使用调试标志编译的,没有太多优化,即保留了构建的程序和源代码之间的一些关系,这样你就可以运行你的代码使用调试器,它是一个允许您跟踪和控制应用程序执行流程的工具,例如在代码中某些情况下存储在某个变量中的值,这是为了暴露您的应用程序可能存在的语义问题,即,当您的代码实际上并没有按照您的预期执行时(大多数人至少在任何地方使用 print 语句执行此操作)。
发布模式旨在生成应用程序的优化版本,而无需调试/分析标志。
请注意,这与 Web 应用程序的调试模式无关,我们设置自动视图以在发生运行时错误时显示更多信息,它只与优化或调试在其下运行的实际程序有关。因此,设置调试或发布模式可能不会改变 Web 应用程序是否显示回溯,但它肯定会改变在服务器本地运行的应用程序的性能。
问候。