Диспетчер конфигурации показывает только Debug
Я работаю в Visual Studio 2008 в приложении ASP.NET, которое было развернуто на тестовом сервере. Я хотел бы сделать сборку без отладочной информации для размещения на производстве, но диспетчер конфигурации показывает только "Debug" в раскрывающемся списке конфигурации для моего проекта.
Другие мои проекты Visual Studio показывают "Debug", "Release", "New..." и "Edit...".
Почему я не вижу вариант выпуска или новые и редактирующие команды?
Ответы
Ответ 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