asp.net-mvc – asp.mvc视图在发布配置中引用#IF DEBUG
发布时间:2020-12-16 00:28:39 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP MVC视图,其中有以下声明 #if DEBUG //section 1 //do stuff#else //section 2 //do other stuff#endif 当在visual studio中,我从下拉列表中选择发布配置来进行构建,代码仍然在步骤1中。 在解决方案配置属性中,解决方案的所有子项目都设置为
我有一个ASP MVC视图,其中有以下声明
#if DEBUG //section 1 //do stuff #else //section 2 //do other stuff #endif 当在visual studio中,我从下拉列表中选择发布配置来进行构建,代码仍然在步骤1中。 在解决方案配置属性中,解决方案的所有子项目都设置为发布配置。 我没到这里吗 解决方法
重要的是要明白,您的项目有两个完全独立的汇编。第一个是在Visual Studio中执行的操作。第二个是ASP.NET在页面投放之前所做的工作。您的视图中的if DEBUG是在第二步完成的。您描述的发布版本是第一步。因此,您的项目的调试/发布设置与Web.config / ASP.NET编译器中的调试设置无关。
此外,您的Visual Studio构建将完全不适合更改Web.config中的调试设置。这些是两个单独的汇编,一个不应该影响另一个。 另一方面,当您在Visual Studio中进行调试时,您可能有一个完全合理的需求,使您的视图行为不同,您可以这样做。您只需要将视图之外的“if”语句移动到由Visual Studio编译的东西中,而不是ASP.NET。我们用一个HTML助手来做这个。例如: /// <summary> /// Returns the HTML to include the appropriate JavaScript files for /// the Site.Master.aspx page,depending upon whether the assembly /// was compiled in debug or release mode. /// </summary> /// <returns>HTML script tags as a multi-line string.</returns> public static string SiteMasterScripts(this UrlHelper helper) { var result = new StringBuilder(); #if DEBUG result.AppendFormat("<script src="{0}" type="text/javascript"></script>",helper.Content("~/Content/js/MicrosoftAjax.debug.js")); #else result.AppendFormat("<script src="{0}" type="text/javascript"></script>",helper.Content("~/Content/js/MicrosoftAjax.js")); #endif // etc. ... 这包括在Visual Studio中以调试配置运行时的调试JS文件,否则最小化JS。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net-mvc – 控制器中的模拟服务器
- asp.net-core – 删除继承的ASP.NET Core appset
- asp.net-mvc – 如何在ASP.NET MVC中添加路由到动
- 如何以编程方式将ListItems添加到ASP.NET中的Dro
- asp.net – 在成功登录时添加声明并在应用程序的
- asp.net-mvc – ASP.NET MVC如何实现返回上一页的
- ‘ASP._Page_sitecore_shell_client_Speak_Layou
- asp.net-mvc – Web API 2需要使用尾部斜杠来使自
- asp.net – 无法加载文件或程序集System.Web.Htt
- asp.net-mvc – JSON,ASP.NET MVC – MaxJsonLen
热点阅读