Visual Studio 2005 не будет компилироваться в режиме настройки выпуска - PullRequest
3 голосов
/ 07 мая 2009

РЕЗЮМЕ: Как скомпилировать в режиме Release ... Я не могу заставить его "взять" то, что я хочу сделать.

У меня есть проект веб-сервиса в VS2005 C #, который я пытаюсь оптимизировать. Одной из вещей, о которой я узнал, является рекомендация компилировать в режиме Release. Я не уверен, чего ожидать здесь, но вот что я вижу:

Я правую кнопку мыши на проекте и выбираю Свойства, а затем вкладку Сборка Я щелкаю раскрывающийся список «Конфигурация», устанавливаю «RELEASE» и замечаю, что «Выходной путь» - \ bin Я нажимаю REBUILD в проекте, и DLL попадает в папку \ bin \ debug (не \ bin)! Вот фрагмент, вставленный из окна вывода этой компиляции (обратите внимание, что конфигурация отображается как «Отладка любого процессора» и позже / define: DEBUG; TRACE):

------ Rebuild All started: Project: TRIMBrokerService, Configuration: Debug Any CPU ------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE 
/reference:"C:\Program Files\Microsoft WSE\v3.0\Microsoft.Web.Services3.dll" /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Configuration.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll 
/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.Mobile.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:..\TRIMBrokerUtilities\TRIMBrokerUtil\bin\Debug\TRIMBrokerUtil.dll 
/debug+ /debug:full /optimize- /out:obj\Debug\TRIMBrokerService.dll /target:library FaultCode.cs FileService.asmx.cs Properties\AssemblyInfo.cs Properties\Settings.Designer.cs Settings.cs "Web References\ASMXwsTrim\Reference.cs"

Compile complete -- 0 errors, 0 warnings
TRIMBrokerService -> C:\Documents and Settings\johna\My Documents\Visual Studio 2005\Projects\WSE\TRIMBrokerPassingByteArray\TRIMBroker\TRIMBrokerService\bin\debug\TRIMBrokerService.dll
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

Я заметил, что могу взаимодействовать с диалоговым окном вкладки «Сборка», и когда я меняю раскрывающийся список «Конфигурация» на «Активный (отладка)» или просто «Отладка», путь вывода меняется на \ bin \ debug, как и следовало ожидать, но не могу кажется, чтобы получить его для компиляции в режиме выпуска. Есть ли хитрость? Я боюсь читать документацию по MSBuild только для того, чтобы развернуть мой маленький веб-сервис, так как думаю, что на данный момент это намного больше, чем мне нужно.

Ответы [ 4 ]

5 голосов
/ 07 мая 2009

Щелкните правой кнопкой мыши по вашему решению и выберите Configuration Manager.. Убедитесь, что для "Active solution configuration" установлено значение Release. Затем убедитесь, что проект (ы) в таблице ниже настроен на использование конфигурации Release.

Возможно, что-то случайно изменилось ..

2 голосов
/ 11 октября 2011

Я столкнулся с той же странной проблемой с VS 2008. Проект, скомпилированный в режиме отладки, просто отлично, но выдает много сообщений об ошибках в режиме выпуска. После нескольких дней проб и ошибок. Я наконец нашел проблему: некоторые из файлов, путь которых превышал 260 букв. Причина, по которой он работал в режиме отладки, потому что слово «debug» на 2 буквы меньше, чем слово «release». Случилось пересечь линию из 260 букв в режиме «релиз». Если вы похожи на меня с длинным именем для ваших вложенных каталогов проектов, следите за этим. Проблема исчезла после того, как я сократил имя основного каталога.

2 голосов
/ 08 мая 2009

В дополнение к ответу Райана конфигурация, заданная на вкладке "Сборка" параметров проекта, не влияет на текущий режим сборки, это позволяет изменять параметры этого проекта для каждой настроенной сборки режим в одном легком месте.

Также можно использовать раскрывающийся список «Конфигурации решений» на стандартной панели инструментов «Стандарт», в которой перечислены конфигурации решений рядом с кнопкой «Отладка» и раскрывающимся списком «Платформы решений».

1 голос
/ 07 мая 2009

Если вы когда-либо собирали сборку в bin \ Debug, то кто-то изменил проект неправильно. Все, что использует ASP.NET, должно иметь сборки, идущие в bin.

...