对 Visual Studio 2010 中的 Release/Debug 文件夹感到困惑
Posted
技术标签:
【中文标题】对 Visual Studio 2010 中的 Release/Debug 文件夹感到困惑【英文标题】:Confused about Release/Debug folders in Visual Studio 2010 【发布时间】:2012-07-17 06:55:04 【问题描述】:我正在开发 ASP.Net MVC 3。当我在调试模式下构建它时,所有文件都进入 bin 文件夹。但我见过在 bin 文件夹中有“Debug”和“Release”文件夹的人。为什么我的 bin 文件夹中没有那个?
如何在我的 bin 文件夹中有 Debug & Release 文件夹?还是我真的应该拥有它们?
然后我看到在使用“部署向导”时创建的 \obj\ 文件夹内有 Debug & Release 文件夹。这些文件夹与“bin”文件夹下的文件夹有什么不同?这两个是一样的吗?
请帮忙。
【问题讨论】:
【参考方案1】:Here is a good thread for what the /obj folder is for and how it's different from the /bin folder
至于为什么您的 /bin 文件夹中没有 Debug/Release 文件夹:
-在您的项目属性下转到构建选项卡
-从顶部的配置中选择调试或发布
-对于每个配置,您可以在窗口底部设置输出路径。对于 Debug 使用 bin\Debug 并对 Release 执行相同的操作。
我不确定为什么 VS 不自动执行此操作 - 它为我在同一解决方案中的其他项目执行此操作。
【讨论】:
【参考方案2】:发布模式
在发布模式下构建程序集时,编译器会执行所有 可用的优化,以确保输出的可执行文件和 库尽可能高效地执行。应该使用这种模式 用于发布给最终用户的已完成并经过测试的软件。 发布模式的缺点是,虽然生成的代码是 通常更快更小,调试工具无法访问它。
调试模式
在开发软件时使用调试模式。当装配体 在调试模式下编译,嵌入了额外的符号信息 并且代码没有优化。这意味着输出 编译器通常更大、更慢且效率更低。然而,一个 调试器可以附加到正在运行的程序,以允许代码 在监控内部变量值的同时逐步执行。
关于这方面的一些优秀的 SO 线程是 here 和 here
【讨论】:
【参考方案3】:尝试执行以下步骤:
第一步。
-
在解决方案资源管理器中右键单击 Web 项目名称并选择“发布”
在“选择发布目标”中选择“文件夹”
确保在“文件夹或文件共享”右侧面板中有“bin\Release\”
点击弹出窗口右下角的“创建配置文件”按钮
在打开的窗口中点击“重命名配置文件”蓝色链接
在“新配置文件名称”输入框中设置“发布”
第二步。
-
再次右键单击解决方案资源管理器中的 Web 项目名称并选择“发布”
点击“创建新个人资料”蓝色链接
在“选择发布目标”中选择“文件夹”
确保在“文件夹或文件共享”右侧面板中有“bin\Debug\”
点击弹出窗口右下角的“创建配置文件”按钮
在打开的窗口中点击“设置”蓝色链接
在左侧菜单中打开的“发布”弹出窗口中选择“设置”
在“配置”下拉列表中设置“调试”
点击“保存”按钮
点击“重命名配置文件”蓝色链接
在“新配置文件名称”输入框中设置“调试”
点击“保存”按钮
因此,您将拥有 2 个用于发布的配置文件,您可以在发布前在下拉列表中指定它们。 您还可以根据需要创建任意数量的配置文件。
最后一步。
尝试使用它不断更改配置文件,然后单击“发布”按钮并检查您指定的输出文件夹:
bin/调试/ bin/Release/如果你做的一切正确,你将在每个文件夹中都有特定的 Web.config 文件。
【讨论】:
【参考方案4】:我认为当您制作桌面应用程序时,您的 Debug 和 Release 文件夹会创建在 Bin 文件夹中,而在 Web 应用程序中,调试和发布文件夹不在 bin 文件夹中。
debug 和 release 文件夹的区别是, 调试模式:帮助您调试行号等。没有优化而 发布模式:优化和高效,因为所有调试信息都被删除了。
【讨论】:
以上是关于对 Visual Studio 2010 中的 Release/Debug 文件夹感到困惑的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2010 Express 中的 LESS 支持
推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)
Visual Studio 2017 中的 Visual Studio 2010