Подтвердить что ты не робот

Диспетчер конфигурации показывает только Debug

Я работаю в Visual Studio 2008 в приложении ASP.NET, которое было развернуто на тестовом сервере. Я хотел бы сделать сборку без отладочной информации для размещения на производстве, но диспетчер конфигурации показывает только "Debug" в раскрывающемся списке конфигурации для моего проекта.

Другие мои проекты Visual Studio показывают "Debug", "Release", "New..." и "Edit...".

Почему я не вижу вариант выпуска или новые и редактирующие команды?

4b9b3361

Ответ 1

Веб-сайты 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">

Visual Studio спросит вас, хотите ли вы, чтобы он изменился с false на true, если вы используете свой веб-сайт в среде IDE, но, к сожалению, он не делает обратного для публикации (что кажется мне более важным).

Если в вашем решении есть несколько проектов, и по крайней мере один из них поддерживает конфигурацию выпуска (например, DLL) - она ​​появится в раскрывающемся списке конфигурации. Однако публикация с выделенным выпуском все еще не влияет на веб-сайт.

Ответ 2

После обзора лучшего ответа и борьбы с этой проблемой в течение нескольких часов я столкнулся с этим ответом. Мое решение состояло в том, чтобы добавить полное приложение: обычно используйте пустой веб-сайт, но у него была та же проблема, что и релиз, который не отображается. Я добавил полное приложение к решению, а затем разрешил мне развернуть мой проект в рамках решения, так как добавление полного приложения также добавило возможность "выпуска" в раскрывающемся списке. Я очень ценю совет, но не знаю, почему этот инструмент настолько изворотливый. Еще раз спасибо за ваше предложение.

Ответ 3

Диспетчер конфигурации для решения позволяет удалить либо (или оба) этих конфигураций сборки по умолчанию (с помощью параметра Edit..., который вы упомянули выше). Я бы поспорил, что кто-то удалил конфигурацию Release.

Вы можете вернуть его, воссоздав его или скопируйте соответствующие строки из решения, которое вы делаете с нуля, быстро. Файл diff показывает следующее:

Файл решения по умолчанию:

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

Ответ 4

процесс был изменен, вам просто нужно проверить два нижних флажка во время части настроек процесса публикации, как показано на изображении. в папке bin вы найдете DLL.

image

надеюсь, что поможет

eiran