19

我在 Visual Studio 2008 中的 ASP.NET 应用程序上工作,该应用程序已部署到测试服务器。我想在没有调试信息的情况下进行构建以投入生产,但配置管理器仅在我的项目的配置下拉列表中显示“调试”。

我的其他 Visual Studio 项目显示“调试”、“发布”、“新建...”和“编辑...”。

为什么我看不到发布选项或新命令和编辑命令?

4

4 回答 4

25

ASP.NET 网站不使用配置管理器来确定调试信息是否包含在编译中。您必须在web.config文件中设置它。据我所知,Visual Studio 永远不会自动将调试更改为“false”。

在您的文件中找到此部分web.config并将其更改为“false”:

<!--
    Set compilation debug="true" to insert debugging
    symbols into the compiled page. Because this
    affects performance, set this value to true only
    during development.
-->

<compilation debug="true">

如果您在 IDE 中运行您的网站,Visual Studio 会询问您是否希望将其从 false 更改为 true,但不幸的是,它不会对发布进行相反的操作(这对我来说似乎更重要)。

如果您的解决方案中有多个项目,并且其中至少一个支持发布配置(例如 DLL) - 它会出现在配置下拉列表中。但是,选择 Release 进行构建仍然不会影响网站。

于 2008-12-02T17:19:24.930 回答
1

在查看了最佳答案并与这个问题搏斗了几个小时后,我遇到了这个答案。我的解决方案是添加一个完整的应用程序:通常使用一个空网站,但同样的问题是发布不显示。我向解决方案添加了一个完整的应用程序,然后它允许我在解决方案中部署我的项目,因为添加完整的应用程序还在下拉列表中添加了“发布”选项。我非常感谢这些建议,但不确定为什么这个工具如此古怪。再次感谢您的建议。

于 2016-02-04T00:32:01.593 回答
0

解决方案的配置管理器允许您删除这些默认构建配置中的一个(或两个)(通过上面提到的编辑...选项)。我敢打赌,有人删除了 Release 配置。

您可以通过重新创建它来取回它,或者从您从头开始快速制作的解决方案中复制适当的行。文件差异显示以下内容:

默认解决方案文件:

GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
    Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection

手动删除Release配置后的解决方法:

GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
于 2008-11-04T04:51:30.773 回答
0

过程已更改,您只需在发布过程的设置部分选中底部的 2 个复选框,如图所示。在 bin 文件夹中,您将找到 dll。

图片

希望有帮助

永然

于 2017-03-02T12:51:06.040 回答