对Visual Studio 2010中的Release / Debug文件夹感到困惑

时间:2012-07-17 06:55:05

标签: asp.net-mvc asp.net-mvc-3 deployment

我正在研究ASP.Net MVC 3.当我在调试模式下构建它时,所有文件都转到bin文件夹。但我见过有“调试”的人bin文件夹中的“Release”文件夹。为什么我在bin文件夹中没有?

我如何进行调试&在我的bin文件夹中释放文件夹?或者我应该真的拥有它们吗?

然后我看到有Debug&释放使用“部署向导”时创建的\ obj \文件夹内的文件夹。这些文件夹和“bin”文件夹下的文件夹有什么不同?这些都一样吗?

请帮忙。

4 个答案:

答案 0 :(得分:6)

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或Release

- 对于每个配置,您可以在窗口底部设置输出路径。对于Debug,使用bin \ Debug并对Release执行相同操作。

我不确定VS为什么不自动执行此操作 - 它在同一解决方案中为我的其他项目执行此操作。

答案 1 :(得分:4)

  

发布模式

     

在发布模式下构建程序集时,编译器会执行所有操作   可用的优化以确保输出的可执行文件和   库尽可能高效地执行。应该使用此模式   用于已发布给最终用户的已完成和测试的软件。   释放模式的缺点是,生成的代码是   通常越来越快,调试工具无法访问它。

     

调试模式

     

在开发软件时使用调试模式。组装时   在调试模式下编译,嵌入了附加的符号信息   并且代码未优化。这意味着输出了   编译器通常更大,更慢,效率更低。但是,一个   调试器可以附加到正在运行的程序以允许代码   在监控内部变量的值的同时逐步完成。

有关此问题的一些优秀的SO主题是herehere

答案 2 :(得分:1)

尝试执行以下步骤:

第一步。

  1. 在解决方案资源管理器中右键单击Web项目名称,然后选择“发布”
  2. 在“选择发布目标”中,选择“文件夹”
  3. 确保在“文件夹或文件共享”右窗格中具有“ bin \ Release \”
  4. 点击弹出窗口右下角的“创建个人资料”按钮
  5. 在打开的窗口中,单击“重命名配置文件”蓝色链接
  6. 在“新配置文件名称”输入框中设置“发布”

第二步。

  1. 再次在解决方案资源管理器中右键单击Web项目名称,然后选择“发布”
  2. 点击“创建新个人资料”蓝色链接
  3. 在“选择发布目标”中,选择“文件夹”
  4. 确保在“文件夹或文件共享”右窗格中具有“ bin \ Debug \”
  5. 点击弹出窗口右下角的“创建个人资料”按钮
  6. 在打开的窗口中,单击“设置”蓝色链接
  7. 在左侧菜单中打开的“发布”弹出窗口中,选择“设置”
  8. 在“配置”下拉列表中设置“调试”
  9. 点击“保存”按钮
  10. 点击“重命名个人资料”蓝色链接
  11. 在“新配置文件名称”输入框中设置“调试”
  12. 点击“保存”按钮

因此,您将具有2个发布配置文件,可以在发布之前在下拉列表中指定这些配置文件。 您还可以根据需要创建任意数量的配置文件。

最终步骤。

尝试使用不断变化的配置文件,然后单击“发布”按钮并检查您指定的输出文件夹:

  • bin / Debug /
  • bin / Release /

如果一切正确,您将在每个文件夹中包含特定的Web.config文件。

答案 3 :(得分:0)

我认为当你制作桌面应用程序时,你的Debug和Release文件夹会在Bin文件夹中创建,而在web应用程序中,debug和release文件夹不在bin文件夹中。

debug和release文件夹之间的区别是, 调试模式:帮助您进行调试,如行号等。无需优化 发布模式:它经过优化和高效,因为所有调试信息都已删除。