C# 应用程序启动是否在Web.config文件转换之前执行?
我有一个转换文件,它向C# 应用程序启动是否在Web.config文件转换之前执行?,c#,.net,asp.net-mvc,asp.net-mvc-3,visual-studio,C#,.net,Asp.net Mvc,Asp.net Mvc 3,Visual Studio,我有一个转换文件,它向Web.config的appconfig部分添加了一个键。然后在应用程序\u Start方法中,我试图读取添加的键,但它似乎不在那里。当我对转换文件执行“预览转换”时,预览看起来正常,并添加了行 问题:应用程序是否在转换Web.config之前启动运行?转换仅在实际部署期间发生,而在构建过程中不发生。在你的情况下,它可能根本不会发生 在构建过程中可以触发转换,尽管需要手动修改项目文件才能实现。提供了一些关于如何做到这一点的见解 但是,您可以从命令行使用MSBuild来执行转
Web.config
的appconfig
部分添加了一个键。然后在应用程序\u Start
方法中,我试图读取添加的键,但它似乎不在那里。当我对转换文件执行“预览转换”时,预览看起来正常,并添加了行
问题:应用程序是否在转换
Web.config
之前启动运行?转换仅在实际部署期间发生,而在构建过程中不发生。在你的情况下,它可能根本不会发生
在构建过程中可以触发转换,尽管需要手动修改项目文件才能实现。提供了一些关于如何做到这一点的见解
但是,您可以从命令行使用
MSBuild
来执行转换(look),因此您可以触发生成后事件来执行转换。可能正好提供您需要的功能。转换仅在实际部署期间发生,而不是在构建过程中发生。在你的情况下,它可能根本不会发生
在构建过程中可以触发转换,尽管需要手动修改项目文件才能实现。提供了一些关于如何做到这一点的见解
但是,您可以从命令行使用
MSBuild
来执行转换(look),因此您可以触发生成后事件来执行转换。可能会提供您所需的一切。正如@rae1n在回答中所解释的,web.config在部署过程中会被转换,例如,当您决定发布web应用程序的发布版本时。Application\u Start
是web应用程序的入口点,也就是说,当应用程序启动并运行时,执行的第一件事情。将Application\u Start
看作C#console应用程序中的Main
方法。您的应用程序已编译,所需的任何转换都已完成。您部署了应用程序,最终用户启动了它。我希望您现在对此有点清楚。正如@rae1n在他的回答中所解释的,web.config在部署过程中会被转换,例如,当您决定发布web应用程序的发布版本时。Application\u Start
是web应用程序的入口点,也就是说,当应用程序启动并运行时,执行的第一件事情。将Application\u Start
看作C#console应用程序中的Main
方法。您的应用程序已编译,所需的任何转换都已完成。您部署了应用程序,最终用户启动了它。我希望你现在有点明白了