草庐IT

asp.net - Release模式与调试 = "false"

coder 2023-04-24 原文

我试图明确解释在 Release模式下编译对 .Net 3.5 Web 应用程序与 debug="false"的影响。到目前为止,设置 debug="false"似乎具有相同的效果,并且在 Release模式下编译已被贬值,但我找不到任何确凿的证据。

这个问题看起来很有希望,但似乎是在回答调试和发布版本之间的区别,而不是 Release模式和 debug="true": What's the difference between compilation debug="false" and Release mode?

但是它确实链接到这篇文章: http://odetocode.com/blogs/scott/archive/2005/11/15/debug-and-release-builds-in-asp-net-2-0.aspx

“这种新的编译模型使网站的配置管理器过时了。出现在 Visual Studio 2005 网站“项目”中的唯一选项是调试配置。不要担心——它没有任何意义。web.config文件现在统治着学校。”

现在这是我最接近的答案,它似乎暗示 Release模式已被贬低,有利于 debug="false"但我在 MSDN 或任何其他网站上找不到任何确认来源。

任何帮助将不胜感激。

更新

对不起;澄清这是我指的“Web 应用程序项目”。

稍微改一下我的问题,如果我在 web.config 中有以下设置:

<compilation defaultLanguage="c#" debug="false">

发布和 Debug模式编译有什么影响(如果有的话)?

最佳答案

TL;DR = 更重要的是编译 debug="true|false"。但是,在 Debug 中编译对性能的影响也很小。

Debug 和 Release 之间的区别(除了是否定义 DEBUG 常量)是“优化代码”标志,它在 Debug 中禁用,在 Release 中启用。 (如果您查看项目设置,“构建”选项卡。)

“优化代码”标志告诉语言编译器在生成 DLL 时进行一些优化(如删除未使用的变量,并省略一些调试符号)。与未设置标志时相比,这是一个相对较小的性能改进(可能对 C++ 与 C#/VB 的影响更大)和 DLL 内存使用量略有减少。

编译 debug="true"标志告诉 JIT 编译器该代码应该被连接起来进行调试。这会降低多个维度(加载时间、运行时间、内存和资源加载)的性能,但可以调试正在运行的代码。

如果您想在生产环境中获得更详细的堆栈跟踪信息,那么您可能可以使用编译 debug="false"运行调试构建,而性能差异很小。但我会测试两者的性能,以确保您不会损失太多。

信用属于this answer链接到 this blog entry ,后来我发现this one ,其中包含所有这些信息。

关于asp.net - Release模式与调试 = "false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3295284/

有关asp.net - Release模式与调试 = "false"的更多相关文章

  1. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  2. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  3. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  4. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  5. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  6. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  7. ruby - 默认情况下使选项为 false - 2

    这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb

  8. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  9. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  10. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

随机推荐