对 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

访问 Matrix 类 (C++) 中的二维数组 (Visual Studio 2010)

Visual Studio 2010 性能测试

Visual Studio2010 串口